{
  "agency_count": 2182,
  "average_score": 68.2,
  "common_fixes": [
    {
      "agencies": 1395,
      "code": "scorecard_wheelchair_boarding_unknown",
      "fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "agencies": 1281,
      "code": "scorecard_wheelchair_accessible_unknown",
      "fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip."
    },
    {
      "agencies": 384,
      "code": "scorecard_no_fare_data",
      "fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead."
    },
    {
      "agencies": 320,
      "code": "non_ascii_or_non_printable_char",
      "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."
    },
    {
      "agencies": 229,
      "code": "scorecard_missing_feed_info_dates",
      "fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export."
    },
    {
      "agencies": 198,
      "code": "scorecard_missing_headsigns",
      "fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign."
    },
    {
      "agencies": 114,
      "code": "scorecard_feed_expiring_soon",
      "fix": "Re-export with a validity window that reaches at least 60 days out."
    },
    {
      "agencies": 92,
      "code": "scorecard_feed_expired",
      "fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "agencies": 88,
      "code": "stop_without_stop_time",
      "fix": "Remove retired stops from the export, or add them back to the trips that should serve them."
    },
    {
      "agencies": 69,
      "code": "decreasing_or_equal_stop_time_distance",
      "fix": "Re-generate shape distances in your export; flag to your vendor if it persists."
    },
    {
      "agencies": 62,
      "code": "mixed_case_recommended_field",
      "fix": "Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE')."
    },
    {
      "agencies": 52,
      "code": "trip_distance_exceeds_shape_distance",
      "fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 42,
      "code": "block_trips_with_overlapping_stop_times",
      "fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 41,
      "code": "scorecard_wheelchair_boarding_unknown",
      "fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals."
    },
    {
      "agencies": 33,
      "code": "expired_calendar",
      "fix": "Remove past service periods the next time you export the feed."
    },
    {
      "agencies": 27,
      "code": "trip_distance_exceeds_shape_distance_below_threshold",
      "fix": "Re-generate shape_dist_traveled on export so stop and shape distances use the same units."
    },
    {
      "agencies": 27,
      "code": "equal_shape_distance_diff_coordinates",
      "fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 25,
      "code": "stop_too_far_from_shape_using_user_distance",
      "fix": "Check the flagged stops' shape_dist_traveled against the route shape, and re-generate it on export if they disagree."
    },
    {
      "agencies": 21,
      "code": "equal_shape_distance_same_coordinates",
      "fix": "Turn on shape cleanup in your export tool, or drop the repeated points from shapes.txt."
    },
    {
      "agencies": 20,
      "code": "fast_travel_between_consecutive_stops",
      "fix": "Check the flagged stop times for transposed minutes."
    },
    {
      "agencies": 19,
      "code": "stop_time_with_arrival_before_previous_departure_time",
      "fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 18,
      "code": "duplicate_key",
      "fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 17,
      "code": "point_near_origin",
      "fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 15,
      "code": "foreign_key_violation",
      "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."
    },
    {
      "agencies": 14,
      "code": "invalid_url",
      "fix": "Review the rule documentation for 'invalid_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 14,
      "code": "unknown_column",
      "fix": "Check the flagged column names for misspellings of standard GTFS fields; remove them if they are vendor extras."
    },
    {
      "agencies": 13,
      "code": "equal_shape_distance_diff_coordinates_distance_below_threshold",
      "fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates_distance_below_threshold' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 13,
      "code": "missing_bike_allowance",
      "fix": "Review the rule documentation for 'missing_bike_allowance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 13,
      "code": "missing_recommended_field",
      "fix": "Review the flagged fields and fill in the ones your riders would use."
    },
    {
      "agencies": 12,
      "code": "missing_required_column",
      "fix": "Add the required column named in the finding to the flagged file."
    },
    {
      "agencies": 11,
      "code": "invalid_phone_number",
      "fix": "Review the rule documentation for 'invalid_phone_number' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 10,
      "code": "unused_shape",
      "fix": "Turn on 'remove unused shapes' (or the like) in your export tool."
    },
    {
      "agencies": 10,
      "code": "service_has_no_active_day_of_the_week",
      "fix": "Delete the empty calendars or set their service days."
    },
    {
      "agencies": 10,
      "code": "missing_feed_contact_email_and_url",
      "fix": "Add feed_contact_email or feed_contact_url to feed_info.txt."
    },
    {
      "agencies": 9,
      "code": "missing_timepoint_value",
      "fix": "Review the rule documentation for 'missing_timepoint_value' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 8,
      "code": "scorecard_no_expiry_date",
      "fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export."
    },
    {
      "agencies": 7,
      "code": "missing_required_field",
      "fix": "Review the rule documentation for 'missing_required_field' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 6,
      "code": "stop_too_far_from_shape",
      "fix": "Check the flagged stops' coordinates and the route shape in your scheduling software; re-snap whichever is misplaced."
    },
    {
      "agencies": 5,
      "code": "stop_time_timepoint_without_times",
      "fix": "Review the rule documentation for 'stop_time_timepoint_without_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 5,
      "code": "leading_or_trailing_whitespaces",
      "fix": "Trim leading and trailing spaces on export. The scorecard's auto-fixed copy already does this."
    },
    {
      "agencies": 5,
      "code": "unknown_file",
      "fix": "Check the flagged file name for a typo of a standard GTFS file. Remove it if it is a vendor extra."
    },
    {
      "agencies": 5,
      "code": "service_window_outside_feed_period",
      "fix": "Widen feed_start_date and feed_end_date to cover all service dates, or fix the dates that fall outside."
    },
    {
      "agencies": 5,
      "code": "start_and_end_range_out_of_order",
      "fix": "Review the rule documentation for 'start_and_end_range_out_of_order' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 4,
      "code": "trip_headsign_matches_intermediate_stop",
      "fix": "Set trip_headsign to the trip's last stop or its overall destination."
    },
    {
      "agencies": 4,
      "code": "scorecard_no_feed_contact",
      "fix": "Add feed_contact_email to feed_info.txt."
    },
    {
      "agencies": 4,
      "code": "scorecard_planned_service_boundary",
      "fix": "Confirm your next service period is published: export its calendar and set feed_info feed_end_date past it."
    },
    {
      "agencies": 4,
      "code": "invalid_row_length",
      "fix": "Review the rule documentation for 'invalid_row_length' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 4,
      "code": "invalid_pickup_drop_off_window",
      "fix": "Review the rule documentation for 'invalid_pickup_drop_off_window' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 3,
      "code": "missing_required_agency_id",
      "fix": "Review the rule documentation for 'missing_required_agency_id' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 3,
      "code": "unexpected_enum_value",
      "fix": "Review the rule documentation for 'unexpected_enum_value' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 3,
      "code": "missing_calendar_and_calendar_date_files",
      "fix": "Review the rule documentation for 'missing_calendar_and_calendar_date_files' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 3,
      "code": "stops_match_shape_out_of_order",
      "fix": "Check the stop order and the shape direction in your scheduling software; the shape is often drawn backwards."
    },
    {
      "agencies": 3,
      "code": "same_stop_and_route_url",
      "fix": "Review the rule documentation for 'same_stop_and_route_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "trip_coverage_not_active_for_next7_days",
      "fix": "Trim past service periods the next time you export."
    },
    {
      "agencies": 2,
      "code": "unsorted_stop_times",
      "fix": "Review the rule documentation for 'unsorted_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "missing_recommended_file",
      "fix": "Add feed_info.txt with publisher name, URL, language, and feed_start_date/feed_end_date."
    },
    {
      "agencies": 2,
      "code": "invalid_character",
      "fix": "Review the rule documentation for 'invalid_character' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "same_route_and_agency_url",
      "fix": "Review the rule documentation for 'same_route_and_agency_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "number_out_of_range",
      "fix": "Review the rule documentation for 'number_out_of_range' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "missing_required_file",
      "fix": "Review the rule documentation for 'missing_required_file' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "service_extends_far_in_the_future",
      "fix": "Review the rule documentation for 'service_extends_far_in_the_future' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "route_short_name_too_long",
      "fix": "Review the rule documentation for 'route_short_name_too_long' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "location_with_unexpected_stop_time",
      "fix": "Review the rule documentation for 'location_with_unexpected_stop_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "pathway_unreachable_location",
      "fix": "Review the rule documentation for 'pathway_unreachable_location' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 2,
      "code": "invalid_geometry",
      "fix": "Review the rule documentation for 'invalid_geometry' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    }
  ],
  "comparison": {
    "absolute_rankings_published": false,
    "eligible_count": 1636,
    "excluded_count": 546,
    "exclusion_counts": {
      "duplicate_feed_identity": 30,
      "measured_category_set_mismatch": 145,
      "reader_archive_profile_mismatch": 8,
      "rubric_version_mismatch": 13,
      "scoring_profile_mismatch": 12,
      "scoring_profile_missing": 1,
      "scoring_profile_rubric_mismatch": 12,
      "scoring_profile_rubric_missing": 1,
      "service_data_long_expired": 369
    },
    "individual_percentiles_published": false,
    "measured_category_cohorts": {
      "correctness+freshness+completeness": 1636,
      "correctness+freshness+completeness+realtime": 145
    },
    "note": "Score aggregates and named changes use one current producer contract, raw reader archive profile, and measured-category set across canonical feed records, with unresolved duplicate identities removed. Absolute rankings and individual percentiles are not published.",
    "required_measured_categories": [
      "correctness",
      "freshness",
      "completeness"
    ],
    "required_reader_archive_profile": "raw-v1",
    "required_rubric_version": "1.3",
    "required_scoring_profile_id": "gtfs-scorecard-1.3",
    "required_validator_version": "8.0.1"
  },
  "expired": {
    "lapsed": 105,
    "stale": 369,
    "total": 474
  },
  "generated_at": "2026-08-02T17:04:13+00:00",
  "grade_distribution": {
    "A": 49,
    "B": 264,
    "C": 593,
    "D": 311,
    "F": 419
  },
  "members": [
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "10-15-transit",
      "name": "10-15 Transit",
      "needs_attention": true,
      "score": 66.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2770,
      "expiry_status": "stale",
      "grade": "F",
      "id": "128-business-council",
      "name": "128 Business Council",
      "needs_attention": true,
      "score": 39.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "81-connection-citygo-kanconnect",
      "name": "81 Connection, CityGo, KanConnect",
      "needs_attention": true,
      "score": 50.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 33 day(s)",
      "days_until_expiry": 33,
      "expiry_status": "current",
      "grade": "F",
      "id": "abq-ride",
      "name": "ABQ RIDE",
      "needs_attention": true,
      "score": 50.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1208,
      "expiry_status": "stale",
      "grade": "F",
      "id": "academy-bus",
      "name": "Academy Bus",
      "needs_attention": true,
      "score": 42.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "access-allegany",
      "name": "Access Allegany",
      "needs_attention": true,
      "score": 42.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 41 day(s)",
      "days_until_expiry": 41,
      "expiry_status": "current",
      "grade": "F",
      "id": "actv-venezia-bus",
      "name": "ACTV Venezia (bus and tram)",
      "needs_attention": true,
      "score": 54.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "actv-venezia-navigazione",
      "name": "ACTV Venezia (vaporetto navigation)",
      "needs_attention": true,
      "score": 49.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2405,
      "expiry_status": "stale",
      "grade": "F",
      "id": "addison-county-transit-actr",
      "name": "Addison County Transit (ACTR)",
      "needs_attention": true,
      "score": 37.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "adirondack-trailways-pine-hill-trailways",
      "name": "Adirondack Trailways Pine Hill Trailways",
      "needs_attention": true,
      "score": 2.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1229,
      "expiry_status": "stale",
      "grade": "F",
      "id": "advance-transit-at",
      "name": "Advance Transit (AT)",
      "needs_attention": true,
      "score": 42.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "agglobus-rodez",
      "name": "Agglobus (Rodez)",
      "needs_attention": true,
      "score": 48.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2223,
      "expiry_status": "stale",
      "grade": "F",
      "id": "airport-valet-express",
      "name": "Airport Valet Express",
      "needs_attention": true,
      "score": 44.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1296,
      "expiry_status": "stale",
      "grade": "F",
      "id": "akron-metro-regional-transit-authority-metro",
      "name": "Akron Metro Regional Transit Authority (METRO)",
      "needs_attention": true,
      "score": 33.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "akron-metro-regional-transit-authority-metro-2071",
      "name": "Akron Metro Regional Transit Authority (METRO)",
      "needs_attention": true,
      "score": 71.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -883,
      "expiry_status": "stale",
      "grade": "F",
      "id": "alameda-contra-costa-transit-district-ac-transit",
      "name": "Alameda-Contra Costa Transit District (AC Transit)",
      "needs_attention": true,
      "score": 52.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -763,
      "expiry_status": "stale",
      "grade": "F",
      "id": "albany-transit-system",
      "name": "Albany Transit System",
      "needs_attention": true,
      "score": 34.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1767,
      "expiry_status": "stale",
      "grade": "F",
      "id": "alcatraz-cruises-hornblower-angel-island-tiburon-ferry-blue-gold-fleet",
      "name": "Alcatraz Cruises - Hornblower, Angel Island Tiburon Ferry, Blue & Gold Fleet",
      "needs_attention": true,
      "score": 46.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "alexandria-transit-company-dash",
      "name": "Alexandria Transit Company (DASH)",
      "needs_attention": true,
      "score": 61.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "alhambra-community-transit",
      "name": "Alhambra Community Transit",
      "needs_attention": true,
      "score": 47.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2194,
      "expiry_status": "stale",
      "grade": "F",
      "id": "allegany-county-transit",
      "name": "Allegany County Transit",
      "needs_attention": true,
      "score": 25.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "altamont-corridor-express",
      "name": "Altamont Corridor Express",
      "needs_attention": true,
      "score": 46.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from B to C",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "altavista-community-transit-system",
      "name": "Altavista Community Transit System",
      "needs_attention": true,
      "score": 79.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "amador-transit",
      "name": "Amador Transit",
      "needs_attention": true,
      "score": 68.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "amarillo-city-transit",
      "name": "Amarillo City Transit",
      "needs_attention": true,
      "score": 50.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "amat-palermo",
      "name": "AMAT Palermo",
      "needs_attention": true,
      "score": 64.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 47 day(s)",
      "days_until_expiry": 47,
      "expiry_status": "current",
      "grade": "F",
      "id": "amt-genova",
      "name": "AMT Genova",
      "needs_attention": true,
      "score": 45.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 7 day(s)",
      "days_until_expiry": 7,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "amtrak",
      "name": "Amtrak",
      "needs_attention": true,
      "score": 43.0,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "C",
      "id": "amtrak-san-joaquins",
      "name": "Amtrak San Joaquins",
      "needs_attention": true,
      "score": 79.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "ann-arbor-area-transportation-authority-theride",
      "name": "Ann Arbor Area Transportation Authority (TheRide)",
      "needs_attention": true,
      "score": 60.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1827,
      "expiry_status": "stale",
      "grade": "F",
      "id": "annapolis-transit",
      "name": "Annapolis Transit",
      "needs_attention": true,
      "score": 31.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "A",
      "id": "annapolis-transit-2285",
      "name": "Annapolis Transit",
      "needs_attention": true,
      "score": 93.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1827,
      "expiry_status": "stale",
      "grade": "F",
      "id": "antelope-valley-transit-authority-avta",
      "name": "Antelope Valley Transit Authority (AVTA)",
      "needs_attention": true,
      "score": 39.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "arcadia-transit",
      "name": "Arcadia Transit",
      "needs_attention": true,
      "score": 46.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "arcadia-transit-2243",
      "name": "Arcadia Transit",
      "needs_attention": true,
      "score": 59.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -306,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "areawide-community-transportation-system",
      "name": "Areawide Community Transportation System",
      "needs_attention": true,
      "score": 57.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "arlington-transit-2434",
      "name": "Arlington Transit Flex",
      "needs_attention": true,
      "score": 63.0,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "arvin-transit",
      "name": "Arvin Transit",
      "needs_attention": true,
      "score": 42.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 44 day(s)",
      "days_until_expiry": 44,
      "expiry_status": "current",
      "grade": "F",
      "id": "aspo-olbia",
      "name": "ASPO (Olbia urban bus)",
      "needs_attention": true,
      "score": 48.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "astrobus-lisieux",
      "name": "Astrobus (Lisieux)",
      "needs_attention": true,
      "score": 67.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3136,
      "expiry_status": "stale",
      "grade": "F",
      "id": "athens-public-transit",
      "name": "Athens Public Transit",
      "needs_attention": true,
      "score": 50.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "athens-public-transit-1973",
      "name": "Athens Public Transit",
      "needs_attention": true,
      "score": 43.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3136,
      "expiry_status": "stale",
      "grade": "F",
      "id": "atlanta-streetcar",
      "name": "Atlanta Streetcar",
      "needs_attention": true,
      "score": 55.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -4597,
      "expiry_status": "stale",
      "grade": "F",
      "id": "atlantic-regional-commission",
      "name": "Atlantic Station Shuttle (FREE RIDE)",
      "needs_attention": true,
      "score": 39.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 10 day(s)",
      "days_until_expiry": 10,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "atm-milano",
      "name": "ATM Milano (Comune di Milano)",
      "needs_attention": true,
      "score": 47.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1401,
      "expiry_status": "stale",
      "grade": "F",
      "id": "auburn-transit",
      "name": "Auburn Transit",
      "needs_attention": true,
      "score": 17.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "autolinee-toscane",
      "name": "Autolinee Toscane (at)",
      "needs_attention": true,
      "score": 27.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -854,
      "expiry_status": "stale",
      "grade": "F",
      "id": "avalon-transit",
      "name": "Avalon Transit",
      "needs_attention": true,
      "score": 56.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -476,
      "expiry_status": "stale",
      "grade": "F",
      "id": "avon-transit",
      "name": "Avon Transit",
      "needs_attention": true,
      "score": 49.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "avon-transit-2040",
      "name": "Avon Transit Flex",
      "needs_attention": true,
      "score": 66.8,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "anm-napoli",
      "name": "Azienda Napoletana Mobilit\u00e0 (ANM)",
      "needs_attention": true,
      "score": 26.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "baldwin-park-transit",
      "name": "Baldwin Park Transit",
      "needs_attention": true,
      "score": 39.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "basin-transit-service-bts",
      "name": "Basin Transit Service (BTS)",
      "needs_attention": true,
      "score": 65.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "bay-area-rapid-transit-bart",
      "name": "Bay Area Rapid Transit (BART)",
      "needs_attention": true,
      "score": 63.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1667,
      "expiry_status": "stale",
      "grade": "F",
      "id": "bay-area-transportation-authority",
      "name": "Bay Area Transportation Authority",
      "needs_attention": true,
      "score": 44.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -245,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "bay-town-trolley",
      "name": "Bay Town Trolley",
      "needs_attention": true,
      "score": 53.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "bc-transit-bulkley-nechako-prince-george",
      "name": "BC Transit (Bulkley-Nechako and Prince George Transit Systems)",
      "needs_attention": true,
      "score": 60.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "F",
      "id": "bc-transit-central-fraser-valley",
      "name": "BC Transit (Central Fraser Valley Transit System)",
      "needs_attention": true,
      "score": 58.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "bc-transit-kamloops",
      "name": "BC Transit (Kamloops Transit System)",
      "needs_attention": true,
      "score": 60.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "F",
      "id": "bc-transit-kelowna",
      "name": "BC Transit (Kelowna Regional Transit System)",
      "needs_attention": true,
      "score": 58.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "F",
      "id": "bc-transit-nanaimo",
      "name": "BC Transit (Nanaimo Regional Transit System)",
      "needs_attention": true,
      "score": 57.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "D",
      "id": "bc-transit-powell-river",
      "name": "BC Transit (Powell River Regional Transit System)",
      "needs_attention": true,
      "score": 61.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-salt-spring-island",
      "name": "BC Transit (Salt Spring Island Transit System)",
      "needs_attention": true,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "D",
      "id": "bc-transit-sunshine-coast",
      "name": "BC Transit (Sunshine Coast Transit System)",
      "needs_attention": true,
      "score": 62.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1309,
      "expiry_status": "stale",
      "grade": "D",
      "id": "beach-cities-transit",
      "name": "Beach Cities Transit",
      "needs_attention": true,
      "score": 62.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "beaver-county-transit-authority",
      "name": "Beaver County Transit Authority",
      "needs_attention": true,
      "score": 45.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "bell-gardens-trolley",
      "name": "Bell Gardens Trolley",
      "needs_attention": true,
      "score": 49.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "bellflower-bus",
      "name": "Bellflower Bus",
      "needs_attention": true,
      "score": 46.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "bellflower-bus-3095",
      "name": "Bellflower Bus",
      "needs_attention": true,
      "score": 69.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -854,
      "expiry_status": "stale",
      "grade": "F",
      "id": "ben-franklin-transit",
      "name": "Ben Franklin Transit",
      "needs_attention": true,
      "score": 55.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-07-30",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "ben-franklin-transit-2024",
      "name": "Ben Franklin Transit",
      "needs_attention": true,
      "score": 67.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-07-30",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "ben-franklin-transit-2122",
      "name": "Ben Franklin Transit",
      "needs_attention": true,
      "score": 73.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "benson-area-transit",
      "name": "Benson Area Transit",
      "needs_attention": true,
      "score": 51.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1325,
      "expiry_status": "stale",
      "grade": "F",
      "id": "bent-county-transit",
      "name": "Bent County Transit",
      "needs_attention": true,
      "score": 46.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "benton-area-transportation",
      "name": "Benton Area Transportation",
      "needs_attention": true,
      "score": 87.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "benton-area-transportation-3109",
      "name": "Benton Area Transportation - Flex V2",
      "needs_attention": true,
      "score": 80.7,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "berks-area-regional-transportation-authority-barta",
      "name": "Berks Area Regional Transportation Authority (BARTA)",
      "needs_attention": true,
      "score": 45.4,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "berkshire-regional-transit-authority-brta",
      "name": "Berkshire Regional Transit Authority (BRTA)",
      "needs_attention": true,
      "score": 75.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -670,
      "expiry_status": "stale",
      "grade": "F",
      "id": "bethesda-circulator",
      "name": "Bethesda Circulator",
      "needs_attention": true,
      "score": 54.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "bettendorf-transit",
      "name": "Bettendorf Transit",
      "needs_attention": true,
      "score": 84.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-08-02",
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "bhtrans-convencional",
      "name": "BHTRANS (Belo Horizonte conventional network)",
      "needs_attention": true,
      "score": 51.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-08-02",
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bhtrans-suplementar",
      "name": "BHTRANS (Belo Horizonte supplementary network)",
      "needs_attention": true,
      "score": 71.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "bibus-brest",
      "name": "Bibus (Brest)",
      "needs_attention": true,
      "score": 47.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1337,
      "expiry_status": "stale",
      "grade": "F",
      "id": "birmingham-jefferson-county-transit-authority",
      "name": "Birmingham Jefferson County Transit Authority",
      "needs_attention": true,
      "score": 19.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2771,
      "expiry_status": "stale",
      "grade": "F",
      "id": "birmingham-jefferson-county-transit-authority-max",
      "name": "Birmingham Jefferson County Transit Authority (MAX)",
      "needs_attention": true,
      "score": 46.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -428,
      "expiry_status": "stale",
      "grade": "F",
      "id": "birmingham-jefferson-county-transit-authority-max-2263",
      "name": "Birmingham Jefferson County Transit Authority (MAX)",
      "needs_attention": true,
      "score": 34.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from C to D",
      "days_until_expiry": 50,
      "expiry_status": "current",
      "grade": "D",
      "id": "bizkaibus",
      "name": "Bizkaibus",
      "needs_attention": true,
      "score": 69.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "blackpool-transport",
      "name": "Blackpool Transport",
      "needs_attention": true,
      "score": 57.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "blacksburg-transit",
      "name": "Blacksburg Transit",
      "needs_attention": true,
      "score": 52.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1339,
      "expiry_status": "stale",
      "grade": "F",
      "id": "bloom-bus",
      "name": "Bloom Bus",
      "needs_attention": true,
      "score": 44.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3865,
      "expiry_status": "stale",
      "grade": "F",
      "id": "bloom-tours",
      "name": "Bloom Tours",
      "needs_attention": true,
      "score": 46.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1443,
      "expiry_status": "stale",
      "grade": "F",
      "id": "bloomington-transit",
      "name": "Bloomington Transit",
      "needs_attention": true,
      "score": 32.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -847,
      "expiry_status": "stale",
      "grade": "F",
      "id": "blue-gold-fleet",
      "name": "Blue & Gold Fleet",
      "needs_attention": true,
      "score": 53.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "blue-sky-limo-llc",
      "name": "Blue Sky Limo LLC",
      "needs_attention": true,
      "score": 54.6,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2770,
      "expiry_status": "stale",
      "grade": "F",
      "id": "blue-star-bus",
      "name": "Blue Star Bus",
      "needs_attention": true,
      "score": 47.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "bluestar-hampshire",
      "name": "Bluestar",
      "needs_attention": true,
      "score": 54.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2855,
      "expiry_status": "stale",
      "grade": "F",
      "id": "boston-harbor-islands-ferries",
      "name": "Boston Harbor Islands Ferries",
      "needs_attention": true,
      "score": 38.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1493,
      "expiry_status": "stale",
      "grade": "F",
      "id": "boulder-county",
      "name": "Boulder County",
      "needs_attention": true,
      "score": 48.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 35 day(s)",
      "days_until_expiry": 35,
      "expiry_status": "current",
      "grade": "C",
      "id": "brampton-transit",
      "name": "Brampton Transit",
      "needs_attention": true,
      "score": 77.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').",
      "top_fix_code": "mixed_case_recommended_field"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -112,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "breckenridge-free-ride",
      "name": "Breckenridge Free Ride",
      "needs_attention": true,
      "score": 47.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -464,
      "expiry_status": "stale",
      "grade": "F",
      "id": "breeze-transit",
      "name": "Breeze Transit",
      "needs_attention": true,
      "score": 31.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -213,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "brite",
      "name": "Brite",
      "needs_attention": true,
      "score": 35.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "brockton-area-transit-authority-bat",
      "name": "Brockton Area Transit Authority (BAT)",
      "needs_attention": true,
      "score": 67.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "metropolitan-transit-authority-mta-528",
      "name": "Bronx Bus",
      "needs_attention": true,
      "score": 60.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "metropolitan-transit-authority-mta-512",
      "name": "Brooklyn Bus",
      "needs_attention": true,
      "score": 60.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "broome-county-transit-b-c-transit",
      "name": "Broome County Transit (B.C. Transit)",
      "needs_attention": true,
      "score": 38.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 55 day(s)",
      "days_until_expiry": 55,
      "expiry_status": "current",
      "grade": "B",
      "id": "broward-county-transit",
      "name": "Broward County Transit",
      "needs_attention": true,
      "score": 88.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -4597,
      "expiry_status": "stale",
      "grade": "F",
      "id": "buc-shuttle",
      "name": "Buc Shuttle",
      "needs_attention": true,
      "score": 39.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "buena-vista-ferry",
      "name": "Buena Vista Ferry",
      "needs_attention": true,
      "score": 63.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "burlington-urban-service",
      "name": "Burlington Urban Service",
      "needs_attention": true,
      "score": 74.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "burns-paiute-tribal-transit",
      "name": "Burns Paiute Tribal Transit",
      "needs_attention": true,
      "score": 75.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1674,
      "expiry_status": "stale",
      "grade": "F",
      "id": "regional-transportation-district-rtd",
      "name": "Bustang",
      "needs_attention": true,
      "score": 45.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 55 day(s)",
      "days_until_expiry": 55,
      "expiry_status": "current",
      "grade": "C",
      "id": "regional-transportation-district-rtd-2280",
      "name": "Bustang",
      "needs_attention": true,
      "score": 71.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1905,
      "expiry_status": "stale",
      "grade": "F",
      "id": "butler-county-regional-transit-authority",
      "name": "Butler County Regional Transit Authority",
      "needs_attention": true,
      "score": 36.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -218,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "butte-regional-transit-b-line",
      "name": "Butte Regional Transit (B-Line)",
      "needs_attention": true,
      "score": 45.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1980,
      "expiry_status": "stale",
      "grade": "F",
      "id": "butte-silver-bow",
      "name": "Butte-Silver Bow",
      "needs_attention": true,
      "score": 50.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "bwi-thurgood-marshall-airport-bwi-shuttle",
      "name": "BWI Thurgood Marshall Airport (BWI) Shuttle",
      "needs_attention": true,
      "score": 46.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "c-tran-305",
      "name": "C TRAN",
      "needs_attention": true,
      "score": 37.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "calabasas-transit-system",
      "name": "Calabasas Transit System",
      "needs_attention": true,
      "score": 47.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "calgary-transit",
      "name": "Calgary Transit",
      "needs_attention": true,
      "score": 19.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1833,
      "expiry_status": "stale",
      "grade": "F",
      "id": "calvert-county-public-transportation",
      "name": "Calvert County Public Transportation",
      "needs_attention": true,
      "score": 30.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "cape-ann-transportation-authority-cata",
      "name": "Cape Ann Transportation Authority (CATA)",
      "needs_attention": true,
      "score": 70.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -37,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "cape-cod-regional-transit-authority",
      "name": "Cape Cod Regional Transit Authority Flex",
      "needs_attention": true,
      "score": 41.3,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -37,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "cape-cod-regional-transportation-authority-cape-cod-rta",
      "name": "Cape Cod Regional Transportation Authority (Cape Cod RTA)",
      "needs_attention": true,
      "score": 51.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -854,
      "expiry_status": "stale",
      "grade": "F",
      "id": "capital-area-transit-goraleigh",
      "name": "Capital Area Transit (GoRaleigh)",
      "needs_attention": true,
      "score": 51.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -732,
      "expiry_status": "stale",
      "grade": "F",
      "id": "capital-area-transit-goraleigh-1983",
      "name": "Capital Area Transit (GoRaleigh)",
      "needs_attention": true,
      "score": 42.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "capital-area-transit-goraleigh-2074",
      "name": "Capital Area Transit (GoRaleigh)",
      "needs_attention": true,
      "score": 62.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -164,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "capital-area-transit-system-cats",
      "name": "Capital Area Transit System (CATS)",
      "needs_attention": true,
      "score": 46.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Confirm your next service period is published: export its calendar and set feed_info feed_end_date past it.",
      "top_fix_code": "scorecard_planned_service_boundary"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 21 day(s)",
      "days_until_expiry": 21,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "capital-area-transportation-authority-cata",
      "name": "Capital Area Transportation Authority (CATA)",
      "needs_attention": true,
      "score": 57.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "B",
      "id": "capital-district-transportation-authority-cdta",
      "name": "Capital District Transportation Authority (CDTA)",
      "needs_attention": true,
      "score": 81.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -707,
      "expiry_status": "stale",
      "grade": "F",
      "id": "capital-trailways",
      "name": "Capital Trailways",
      "needs_attention": true,
      "score": 46.7,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 49 day(s)",
      "days_until_expiry": 49,
      "expiry_status": "current",
      "grade": "C",
      "id": "capital-transit",
      "name": "Capital Transit",
      "needs_attention": true,
      "score": 76.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1584,
      "expiry_status": "stale",
      "grade": "F",
      "id": "capital-transit-310",
      "name": "Capital Transit",
      "needs_attention": true,
      "score": 44.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1129,
      "expiry_status": "stale",
      "grade": "D",
      "id": "capitol-corridor-joint-powers-authority-capitol-corridor",
      "name": "Capitol Corridor Joint Powers Authority (Capitol Corridor)",
      "needs_attention": true,
      "score": 61.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "carabus-royan",
      "name": "Cara'bus (Royan)",
      "needs_attention": true,
      "score": 50.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3867,
      "expiry_status": "stale",
      "grade": "F",
      "id": "carlsbad-municipal-transit-system",
      "name": "Carlsbad Municipal Transit System",
      "needs_attention": true,
      "score": 42.9,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "D",
      "id": "carlsbad-municipal-transit-system-2284",
      "name": "Carlsbad Municipal Transit System",
      "needs_attention": true,
      "score": 60.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1644,
      "expiry_status": "stale",
      "grade": "F",
      "id": "carroll-transit-system",
      "name": "Carroll Transit System",
      "needs_attention": true,
      "score": 42.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1858,
      "expiry_status": "stale",
      "grade": "F",
      "id": "carson-circuit",
      "name": "Carson Circuit",
      "needs_attention": true,
      "score": 47.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1844,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cascade-point",
      "name": "Cascade POINT",
      "needs_attention": true,
      "score": 49.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -831,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cascades-east-transit-cet",
      "name": "Cascades East Transit (CET)",
      "needs_attention": true,
      "score": 48.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1427,
      "expiry_status": "stale",
      "grade": "F",
      "id": "casco-bay-lines",
      "name": "Casco Bay Lines",
      "needs_attention": true,
      "score": 46.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1735,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cat-tran-shuttle",
      "name": "Cat Tran Shuttle",
      "needs_attention": true,
      "score": 38.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -597,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cat-tran-shuttle-2206",
      "name": "Cat Tran Shuttle",
      "needs_attention": true,
      "score": 39.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1807,
      "expiry_status": "stale",
      "grade": "F",
      "id": "centre-county-transit-authority-cata",
      "name": "CATABUS",
      "needs_attention": true,
      "score": 22.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "catalina-flyer",
      "name": "Catalina Flyer",
      "needs_attention": true,
      "score": 47.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1802,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cecil-transit",
      "name": "Cecil Transit",
      "needs_attention": true,
      "score": 26.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "cecil-transit-3034",
      "name": "Cecil Transit",
      "needs_attention": true,
      "score": 58.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'empty_file' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "empty_file"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -227,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "cecil-transit-3178",
      "name": "Cecil Transit",
      "needs_attention": true,
      "score": 40.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "cedar-rapids-transit",
      "name": "Cedar Rapids Transit",
      "needs_attention": true,
      "score": 78.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 35 day(s)",
      "days_until_expiry": 35,
      "expiry_status": "current",
      "grade": "D",
      "id": "central-ohio-transit-authority-cota",
      "name": "Central Ohio Transit Authority (COTA)",
      "needs_attention": true,
      "score": 66.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "central-oregon-breeze",
      "name": "Central Oregon Breeze",
      "needs_attention": true,
      "score": 65.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 35 day(s)",
      "days_until_expiry": 35,
      "expiry_status": "current",
      "grade": "F",
      "id": "centro",
      "name": "Centro",
      "needs_attention": true,
      "score": 51.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "chapel-hill-transit-cht",
      "name": "Chapel Hill Transit (CHT)",
      "needs_attention": true,
      "score": 41.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1802,
      "expiry_status": "stale",
      "grade": "F",
      "id": "charles-county-vango",
      "name": "Charles County VanGo",
      "needs_attention": true,
      "score": 26.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "charleston-area-regional-transportation-authority-carta",
      "name": "Charleston Area Regional Transportation Authority (CARTA)",
      "needs_attention": true,
      "score": 68.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1638,
      "expiry_status": "stale",
      "grade": "F",
      "id": "charlotte-area-transit-system-cats",
      "name": "Charlotte Area Transit System (CATS)",
      "needs_attention": true,
      "score": 44.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1616,
      "expiry_status": "stale",
      "grade": "F",
      "id": "charm-city-circulator",
      "name": "Charm City Circulator",
      "needs_attention": true,
      "score": 51.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1729,
      "expiry_status": "stale",
      "grade": "F",
      "id": "chatham-area-transit-cat",
      "name": "Chatham Area Transit (CAT)",
      "needs_attention": true,
      "score": 8.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -371,
      "expiry_status": "stale",
      "grade": "F",
      "id": "chatham-area-transit-cat-2080",
      "name": "Chatham Area Transit (CAT)",
      "needs_attention": true,
      "score": 46.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1548,
      "expiry_status": "stale",
      "grade": "F",
      "id": "chattanooga-area-regional-transportation-authority-carta",
      "name": "Chattanooga Area Regional Transportation Authority (CARTA)",
      "needs_attention": true,
      "score": 33.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -715,
      "expiry_status": "stale",
      "grade": "F",
      "id": "chattanooga-area-regional-transportation-authority-carta-2082",
      "name": "Chattanooga Area Regional Transportation Authority (CARTA)",
      "needs_attention": true,
      "score": 32.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -4597,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cherokee-area-transportation-system-cats",
      "name": "Cherokee Area Transportation System (CATS)",
      "needs_attention": true,
      "score": 45.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -212,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "cherriots",
      "name": "Cherriots",
      "needs_attention": true,
      "score": 23.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "F",
      "id": "chicago-transit-authority-cta",
      "name": "Chicago Transit Authority (CTA)",
      "needs_attention": true,
      "score": 51.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -140,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "chicago-water-taxi",
      "name": "Chicago Water Taxi",
      "needs_attention": true,
      "score": 48.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "chittenden-county-transportation-authority-ccta",
      "name": "Chittenden County Transportation Authority (CCTA)",
      "needs_attention": true,
      "score": 81.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 6 day(s)",
      "days_until_expiry": 6,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "citibus",
      "name": "Citibus",
      "needs_attention": true,
      "score": 58.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "citibus-2304",
      "name": "Citibus",
      "needs_attention": true,
      "score": 48.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "citibus-narbonne",
      "name": "Citibus (Narbonne)",
      "needs_attention": true,
      "score": 44.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -732,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cities-area-transit",
      "name": "Cities Area Transit",
      "needs_attention": true,
      "score": 46.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2771,
      "expiry_status": "stale",
      "grade": "F",
      "id": "citilink",
      "name": "Citilink",
      "needs_attention": true,
      "score": 38.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3684,
      "expiry_status": "stale",
      "grade": "F",
      "id": "citrus-county-transit",
      "name": "Citrus County Transit",
      "needs_attention": true,
      "score": 45.0,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "citrus-county-transit-2257",
      "name": "Citrus County Transit",
      "needs_attention": true,
      "score": 48.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3319,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-2-city-shuttle",
      "name": "City 2 City Shuttle",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -33,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "city-coach",
      "name": "City Coach",
      "needs_attention": true,
      "score": 53.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1674,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-bell-la-campana",
      "name": "City of Bell (La Campana)",
      "needs_attention": true,
      "score": 49.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-bell-la-campana-2249",
      "name": "City of Bell (La Campana)",
      "needs_attention": true,
      "score": 55.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1858,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-corvallis",
      "name": "City of Corvallis",
      "needs_attention": true,
      "score": 45.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -94,
      "expiry_status": "lapsed",
      "grade": "D",
      "id": "city-of-douglas",
      "name": "City of Douglas",
      "needs_attention": true,
      "score": 69.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -489,
      "expiry_status": "stale",
      "grade": "D",
      "id": "city-of-ellensburg-public-transit-central-transit",
      "name": "City of Ellensburg Public Transit (Central Transit)",
      "needs_attention": true,
      "score": 69.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1432,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-glendale",
      "name": "City of Glendale",
      "needs_attention": true,
      "score": 49.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "city-of-jackson-jtran",
      "name": "City of Jackson (JTRAN)",
      "needs_attention": true,
      "score": 71.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -398,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-las-vegas",
      "name": "City of Las Vegas",
      "needs_attention": true,
      "score": 51.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -853,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-lompoc-transit-colt",
      "name": "City of Lompoc Transit (COLT)",
      "needs_attention": true,
      "score": 45.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "city-of-madera",
      "name": "City of Madera",
      "needs_attention": true,
      "score": 45.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 54 day(s)",
      "days_until_expiry": 54,
      "expiry_status": "current",
      "grade": "D",
      "id": "city-of-mechanicville-public-transit",
      "name": "City of Mechanicville Public Transit",
      "needs_attention": true,
      "score": 63.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -921,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-milton-freewater-public-transportation",
      "name": "City of Milton-Freewater Public Transportation",
      "needs_attention": true,
      "score": 52.8,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -94,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "city-of-show-low",
      "name": "City of Show Low",
      "needs_attention": true,
      "score": 57.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2771,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-sierra-vista",
      "name": "City of Sierra Vista",
      "needs_attention": true,
      "score": 52.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1463,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-tracy-tracer",
      "name": "City of Tracy (TRACER)",
      "needs_attention": true,
      "score": 16.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-wasco",
      "name": "City of Wasco",
      "needs_attention": true,
      "score": 30.9,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -213,
      "expiry_status": "lapsed",
      "grade": "D",
      "id": "city-of-winona-mn-winona-transit-service",
      "name": "City of Winona MN - Winona Transit Service",
      "needs_attention": true,
      "score": 61.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 21 day(s)",
      "days_until_expiry": 21,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "citybus-of-greater-lafayette-indiana-citybus",
      "name": "CityBus of Greater Lafayette Indiana (CityBus)",
      "needs_attention": true,
      "score": 66.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1432,
      "expiry_status": "stale",
      "grade": "F",
      "id": "clackamas-community-college-ccc-xpress",
      "name": "Clackamas Community College (CCC) Xpress",
      "needs_attention": true,
      "score": 54.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "clackco-connects-clackamas-county-2740",
      "name": "ClackCo Connects (Clackamas County) Realtime Static",
      "needs_attention": true,
      "score": 67.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 41 day(s)",
      "days_until_expiry": 41,
      "expiry_status": "current",
      "grade": "C",
      "id": "c-tran",
      "name": "Clark County Public Transportation Benefit Area",
      "needs_attention": true,
      "score": 77.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the vehicle positions endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_vehicle_positions_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2424,
      "expiry_status": "stale",
      "grade": "F",
      "id": "clemson-area-transit-cat",
      "name": "Clemson Area Transit (CAT)",
      "needs_attention": true,
      "score": 46.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -63,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "clinton-county-public-transit-ccpt",
      "name": "Clinton County Public Transit (CCPT)",
      "needs_attention": true,
      "score": 35.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from C to D",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "clinton-municipal-transit-administration-clinton-mta",
      "name": "Clinton Municipal Transit Administration (Clinton MTA)",
      "needs_attention": true,
      "score": 69.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -58,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "clovis-transit",
      "name": "Clovis Transit",
      "needs_attention": true,
      "score": 59.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "clovis-transit-2894",
      "name": "Clovis Transit",
      "needs_attention": true,
      "score": 68.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1524,
      "expiry_status": "stale",
      "grade": "F",
      "id": "coach-company",
      "name": "Coach Company",
      "needs_attention": true,
      "score": 48.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -183,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "coast-transportation",
      "name": "COAST Transportation",
      "needs_attention": true,
      "score": 38.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cobb-community-transit-cct",
      "name": "Cobb Community Transit (CCT)",
      "needs_attention": true,
      "score": 38.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2040,
      "expiry_status": "stale",
      "grade": "F",
      "id": "collier-area-transit-cat",
      "name": "Collier Area Transit (CAT)",
      "needs_attention": true,
      "score": 30.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 15 day(s)",
      "days_until_expiry": 15,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "collier-area-transit-cat-2259",
      "name": "Collier Area Transit (CAT)",
      "needs_attention": true,
      "score": 47.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 16 day(s)",
      "days_until_expiry": 16,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "colorado-school-of-mines",
      "name": "Colorado School Of Mines",
      "needs_attention": true,
      "score": 59.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 26 day(s)",
      "days_until_expiry": 26,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "community-transit-ct",
      "name": "Community Transit (CT)",
      "needs_attention": true,
      "score": 78.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "compton-renaissance",
      "name": "Compton Renaissance",
      "needs_attention": true,
      "score": 36.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -32,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "concord-area-transit",
      "name": "Concord Area Transit Flex",
      "needs_attention": true,
      "score": 39.3,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "concord-kannapolis-area-transit-rider-transit",
      "name": "Concord Kannapolis Area Transit (Rider Transit)",
      "needs_attention": true,
      "score": 42.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "concord-kannapolis-area-transit-rider-transit-2244",
      "name": "Concord Kannapolis Area Transit (Rider Transit)",
      "needs_attention": true,
      "score": 65.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1493,
      "expiry_status": "stale",
      "grade": "F",
      "id": "connect-transit",
      "name": "Connect Transit",
      "needs_attention": true,
      "score": 35.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2527,
      "expiry_status": "stale",
      "grade": "F",
      "id": "connect-transit-1238",
      "name": "Connect Transit",
      "needs_attention": true,
      "score": 37.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1309,
      "expiry_status": "stale",
      "grade": "F",
      "id": "continuum",
      "name": "Continuum Flex",
      "needs_attention": true,
      "score": 22.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -220,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "copper-mountain-transit",
      "name": "Copper Mountain Transit",
      "needs_attention": true,
      "score": 56.9,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "corning-erwin-area-transit-system-ceats",
      "name": "Corning Erwin Area Transit System (CEATS)",
      "needs_attention": true,
      "score": 44.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -428,
      "expiry_status": "stale",
      "grade": "F",
      "id": "corpus-christi-regional-transportation-authority",
      "name": "Corpus Christi Regional Transportation Authority",
      "needs_attention": true,
      "score": 40.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -490,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cortland-county-public-transportation",
      "name": "Cortland County Public Transportation",
      "needs_attention": true,
      "score": 35.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "D",
      "id": "city-of-coolidge",
      "name": "Cotton Express and Central Arizona Regional Transit",
      "needs_attention": true,
      "score": 64.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -932,
      "expiry_status": "stale",
      "grade": "F",
      "id": "county-connection-cccta",
      "name": "County Connection (CCCTA)",
      "needs_attention": true,
      "score": 51.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 6 day(s)",
      "days_until_expiry": 6,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "county-connection-cccta-2421",
      "name": "County Connection (CCCTA)",
      "needs_attention": true,
      "score": 53.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cudahy-area-rapid-transit",
      "name": "Cudahy Area Rapid Transit",
      "needs_attention": true,
      "score": 46.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -183,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "cudahy-area-rapid-transit-2248",
      "name": "Cudahy Area Rapid Transit",
      "needs_attention": true,
      "score": 47.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -206,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "cue-bus",
      "name": "CUE Bus",
      "needs_attention": true,
      "score": 47.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -21,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "culver-city-bus",
      "name": "Culver City Bus",
      "needs_attention": true,
      "score": 53.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2835,
      "expiry_status": "stale",
      "grade": "D",
      "id": "national-park-service",
      "name": "Cuyahoga Valley Scenic Railroad",
      "needs_attention": true,
      "score": 60.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 14 day(s)",
      "days_until_expiry": 14,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "cyride",
      "name": "CyRide",
      "needs_attention": true,
      "score": 70.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 42 day(s)",
      "days_until_expiry": 42,
      "expiry_status": "current",
      "grade": "F",
      "id": "dallas-area-rapid-transit-dart",
      "name": "Dallas Area Rapid Transit (DART)",
      "needs_attention": true,
      "score": 34.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -19,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "dallas-host-committee",
      "name": "Dallas Host Committee",
      "needs_attention": true,
      "score": 48.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "B",
      "id": "danville-transit",
      "name": "Danville Transit Flex",
      "needs_attention": true,
      "score": 84.6,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 25 day(s)",
      "days_until_expiry": 25,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "dartmouth-college",
      "name": "Dartmouth College",
      "needs_attention": true,
      "score": 65.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1005,
      "expiry_status": "stale",
      "grade": "F",
      "id": "dattco-motorcoach",
      "name": "DATTCO Motorcoach",
      "needs_attention": true,
      "score": 50.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1158,
      "expiry_status": "stale",
      "grade": "F",
      "id": "dc-streetcar",
      "name": "DC Streetcar",
      "needs_attention": true,
      "score": 45.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -398,
      "expiry_status": "stale",
      "grade": "F",
      "id": "dc-streetcar-2223",
      "name": "DC Streetcar",
      "needs_attention": true,
      "score": 57.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "B",
      "id": "delano-area-rapid-transit",
      "name": "Delano Area Rapid Transit",
      "needs_attention": true,
      "score": 87.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1618,
      "expiry_status": "stale",
      "grade": "F",
      "id": "delmarva-community-transit",
      "name": "Delmarva Community Transit",
      "needs_attention": true,
      "score": 31.4,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 49 day(s)",
      "days_until_expiry": 49,
      "expiry_status": "current",
      "grade": "A",
      "id": "denali-national-park-shuttle",
      "name": "Denali National Park Courtesy Shuttle",
      "needs_attention": true,
      "score": 93.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Remove past service periods the next time you export the feed.",
      "top_fix_code": "expired_calendar"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "des-moines-area-regional-transit-authority-dart",
      "name": "Des Moines Area Regional Transit Authority (DART)",
      "needs_attention": true,
      "score": 52.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-08-02",
      "days_until_expiry": 49,
      "expiry_status": "current",
      "grade": "D",
      "id": "detroit-department-of-transportation-ddot",
      "name": "Detroit Department of Transportation (DDOT)",
      "needs_attention": true,
      "score": 68.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2183,
      "expiry_status": "stale",
      "grade": "F",
      "id": "detroit-people-mover",
      "name": "Detroit People Mover",
      "needs_attention": true,
      "score": 50.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "diamond-express",
      "name": "Diamond Express",
      "needs_attention": true,
      "score": 74.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "discover-goodwill",
      "name": "Discover Goodwill Flex",
      "needs_attention": true,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-07-30",
      "days_until_expiry": 1,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "divia-dijon",
      "name": "DiviaMobilit\u00e9s (Dijon)",
      "needs_attention": true,
      "score": 38.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "donan-bus",
      "name": "Donan Bus (\u9053\u5357\u30d0\u30b9)",
      "needs_attention": true,
      "score": 75.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "downeylink",
      "name": "DowneyLINK",
      "needs_attention": true,
      "score": 47.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2405,
      "expiry_status": "stale",
      "grade": "F",
      "id": "duarte-transit",
      "name": "Duarte Transit",
      "needs_attention": true,
      "score": 46.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 44 day(s)",
      "days_until_expiry": 44,
      "expiry_status": "current",
      "grade": "C",
      "id": "dublin-coach",
      "name": "Dublin Coach",
      "needs_attention": true,
      "score": 72.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -357,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "duke-university",
      "name": "Duke University",
      "needs_attention": true,
      "score": 41.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "duluth-transit",
      "name": "Duluth Transit",
      "needs_attention": true,
      "score": 50.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1844,
      "expiry_status": "stale",
      "grade": "F",
      "id": "eastern-point",
      "name": "Eastern Point",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "eau-claire-transit",
      "name": "Eau Claire Transit",
      "needs_attention": true,
      "score": 31.0,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1205,
      "expiry_status": "stale",
      "grade": "F",
      "id": "eco-transit",
      "name": "ECO Transit",
      "needs_attention": true,
      "score": 45.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1205,
      "expiry_status": "stale",
      "grade": "F",
      "id": "eco-transit-2061",
      "name": "ECO Transit",
      "needs_attention": true,
      "score": 45.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -275,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "el-monte-transit",
      "name": "El Monte Transit",
      "needs_attention": true,
      "score": 55.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "el-paso-fountain-valley-senior-citizens-program-inc",
      "name": "El Paso Fountain Valley Senior Citizens Program Inc Flex",
      "needs_attention": true,
      "score": 63.0,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "el-segundo-transportation",
      "name": "El Segundo Transportation",
      "needs_attention": true,
      "score": 48.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -786,
      "expiry_status": "stale",
      "grade": "F",
      "id": "el-segundo-transportation-2210",
      "name": "El Segundo Transportation",
      "needs_attention": true,
      "score": 51.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3349,
      "expiry_status": "stale",
      "grade": "F",
      "id": "elevated-transit",
      "name": "Elevated Transit",
      "needs_attention": true,
      "score": 47.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -574,
      "expiry_status": "stale",
      "grade": "F",
      "id": "elk-grove-transit",
      "name": "Elk Grove Transit",
      "needs_attention": true,
      "score": 39.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -974,
      "expiry_status": "stale",
      "grade": "F",
      "id": "embark",
      "name": "Embark",
      "needs_attention": true,
      "score": 43.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -291,
      "expiry_status": "lapsed",
      "grade": "D",
      "id": "keep-tahoe-blue",
      "name": "Emerald Bay Shuttle",
      "needs_attention": true,
      "score": 65.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3684,
      "expiry_status": "stale",
      "grade": "F",
      "id": "emerald-coast-rider-ecr",
      "name": "Emerald Coast Rider (ECR)",
      "needs_attention": true,
      "score": 53.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "emery-go-round",
      "name": "Emery Go-Round",
      "needs_attention": true,
      "score": 54.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -4597,
      "expiry_status": "stale",
      "grade": "F",
      "id": "emory-university-cliff-shuttles",
      "name": "Emory University Cliff Shuttles",
      "needs_attention": true,
      "score": 39.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "emt-malaga",
      "name": "Empresa Malague\u00f1a de Transportes (EMT M\u00e1laga)",
      "needs_attention": true,
      "score": 72.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 14 day(s)",
      "days_until_expiry": 14,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "emt-fuenlabrada",
      "name": "EMT Fuenlabrada (EMTF)",
      "needs_attention": true,
      "score": 58.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "emt-valencia",
      "name": "EMT Val\u00e8ncia",
      "needs_attention": true,
      "score": 47.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1005,
      "expiry_status": "stale",
      "grade": "F",
      "id": "erie-metropolitan-transit-authority",
      "name": "Erie Metropolitan Transit Authority",
      "needs_attention": true,
      "score": 45.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1370,
      "expiry_status": "stale",
      "grade": "F",
      "id": "escambia-county-area-transit-ecat",
      "name": "Escambia County Area Transit (ECAT)",
      "needs_attention": true,
      "score": 46.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3500,
      "expiry_status": "stale",
      "grade": "F",
      "id": "eugene-to-bend",
      "name": "Eugene to BEND",
      "needs_attention": true,
      "score": 54.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3500,
      "expiry_status": "stale",
      "grade": "F",
      "id": "eugene-to-coos-bay",
      "name": "Eugene to Coos Bay",
      "needs_attention": true,
      "score": 54.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "everett-transit",
      "name": "Everett Transit",
      "needs_attention": true,
      "score": 61.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 21 day(s)",
      "days_until_expiry": 21,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "exo-trains",
      "name": "exo (commuter rail network)",
      "needs_attention": true,
      "score": 56.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 21 day(s)",
      "days_until_expiry": 21,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "exo-sud-ouest",
      "name": "exo Sud-Ouest",
      "needs_attention": true,
      "score": 56.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -853,
      "expiry_status": "stale",
      "grade": "F",
      "id": "express-arrow",
      "name": "Express Arrow",
      "needs_attention": true,
      "score": 49.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -33,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "fast-transit",
      "name": "Fairfield and Suisun Transit (FAST)",
      "needs_attention": true,
      "score": 48.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "farmville-area-bus",
      "name": "Farmville Area Bus",
      "needs_attention": true,
      "score": 85.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 22 day(s)",
      "days_until_expiry": 22,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "fil-bleu-tours",
      "name": "Fil Bleu (Tours)",
      "needs_attention": true,
      "score": 42.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1969,
      "expiry_status": "stale",
      "grade": "F",
      "id": "flixbus",
      "name": "Flixbus",
      "needs_attention": true,
      "score": 52.3,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 55 day(s)",
      "days_until_expiry": 55,
      "expiry_status": "current",
      "grade": "D",
      "id": "fort-worth-transit-authority",
      "name": "Fort Worth Transit Authority",
      "needs_attention": true,
      "score": 67.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "franklin-county-public-transportation",
      "name": "Franklin County Public Transportation",
      "needs_attention": true,
      "score": 47.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "franklin-regional-transit-authority-frta",
      "name": "Franklin Regional Transit Authority (FRTA)",
      "needs_attention": true,
      "score": 68.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -520,
      "expiry_status": "stale",
      "grade": "F",
      "id": "frederick-county-transit",
      "name": "Frederick County TransIT",
      "needs_attention": true,
      "score": 34.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "frederick-county-transit-2432",
      "name": "Frederick County TransIT",
      "needs_attention": true,
      "score": 62.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "fredericksburg-regional-transit",
      "name": "Fredericksburg Regional Transit",
      "needs_attention": true,
      "score": 26.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -489,
      "expiry_status": "stale",
      "grade": "F",
      "id": "fredericksburg-regional-transit-2430",
      "name": "Fredericksburg Regional Transit",
      "needs_attention": true,
      "score": 38.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -72,
      "expiry_status": "lapsed",
      "grade": "D",
      "id": "freedom-cruise-line",
      "name": "Freedom Cruise Line",
      "needs_attention": true,
      "score": 66.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Confirm your next service period is published: export its calendar and set feed_info feed_end_date past it.",
      "top_fix_code": "scorecard_planned_service_boundary"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 7 day(s)",
      "days_until_expiry": 7,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "fresno-area-express-fax",
      "name": "Fresno Area Express (FAX)",
      "needs_attention": true,
      "score": 37.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1442,
      "expiry_status": "stale",
      "grade": "F",
      "id": "gainesville-regional-transit-system",
      "name": "Gainesville Regional Transit System",
      "needs_attention": true,
      "score": 40.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -350,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "gainesville-regional-transit-system-2412",
      "name": "Gainesville Regional Transit System",
      "needs_attention": true,
      "score": 47.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -93,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "gallup-express",
      "name": "Gallup Express",
      "needs_attention": true,
      "score": 59.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "C",
      "id": "galveston-island-transit",
      "name": "Galveston Island Transit",
      "needs_attention": true,
      "score": 74.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "ganu-area-shiokaze-line",
      "name": "Ganu Area Shiokaze Line (\u5ca9\u5b87\u5730\u57df\u3057\u304a\u304b\u305c\u30e9\u30a4\u30f3)",
      "needs_attention": true,
      "score": 75.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1158,
      "expiry_status": "stale",
      "grade": "F",
      "id": "garden-of-the-gods",
      "name": "Garden of the Gods",
      "needs_attention": true,
      "score": 45.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -4474,
      "expiry_status": "stale",
      "grade": "F",
      "id": "georgia-tech-trolley-stinger-shuttles",
      "name": "Georgia Tech Trolley & Stinger Shuttles",
      "needs_attention": true,
      "score": 37.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "gtfs-de-local-transit",
      "name": "Germany local transit aggregate (gtfs.de)",
      "needs_attention": true,
      "score": 43.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "gtfs-de-long-distance-rail",
      "name": "Germany long-distance rail aggregate (gtfs.de)",
      "needs_attention": true,
      "score": 57.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "gtfs-de-regional-rail",
      "name": "Germany regional rail aggregate (gtfs.de)",
      "needs_attention": true,
      "score": 48.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "gest-firenze",
      "name": "GEST \u2014 Tramvia di Firenze",
      "needs_attention": true,
      "score": 45.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "get-around-town-express",
      "name": "Get Around Town Express",
      "needs_attention": true,
      "score": 51.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "B",
      "id": "giant-forest-shuttle",
      "name": "Giant Forest Shuttle (Sequoia National Park)",
      "needs_attention": true,
      "score": 83.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1432,
      "expiry_status": "stale",
      "grade": "F",
      "id": "glendale-beeline",
      "name": "Glendale Beeline",
      "needs_attention": true,
      "score": 49.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "glendora-transportation-division",
      "name": "Glendora Transportation Division",
      "needs_attention": true,
      "score": 35.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "glendora-transportation-division-3097",
      "name": "Glendora Transportation Division",
      "needs_attention": true,
      "score": 53.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1370,
      "expiry_status": "stale",
      "grade": "F",
      "id": "glenn-transit-service",
      "name": "Glenn Transit Service",
      "needs_attention": true,
      "score": 33.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -458,
      "expiry_status": "stale",
      "grade": "F",
      "id": "glenn-transit-service-2207",
      "name": "Glenn Transit Service",
      "needs_attention": true,
      "score": 49.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "gloversville-transit-services",
      "name": "Gloversville Transit Services",
      "needs_attention": true,
      "score": 30.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 33 day(s)",
      "days_until_expiry": 33,
      "expiry_status": "current",
      "grade": "C",
      "id": "go-transit-metrolinx",
      "name": "GO Transit (Metrolinx)",
      "needs_attention": true,
      "score": 78.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').",
      "top_fix_code": "mixed_case_recommended_field"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1674,
      "expiry_status": "stale",
      "grade": "F",
      "id": "go-west-shuttle",
      "name": "Go West Shuttle",
      "needs_attention": true,
      "score": 48.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "gocary",
      "name": "GoCary",
      "needs_attention": true,
      "score": 52.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "godurham",
      "name": "GoDurham",
      "needs_attention": true,
      "score": 38.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "A",
      "id": "glacier-going-to-the-sun-road-shuttle",
      "name": "Going-to-the-Sun Road Shuttle (Glacier National Park)",
      "needs_attention": true,
      "score": 90.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": null,
      "top_fix_code": null
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 41 day(s)",
      "days_until_expiry": 41,
      "expiry_status": "current",
      "grade": "D",
      "id": "golden-gate-transit",
      "name": "Golden Gate Transit",
      "needs_attention": true,
      "score": 61.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "gotriangle",
      "name": "GoTriangle",
      "needs_attention": true,
      "score": 50.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1097,
      "expiry_status": "stale",
      "grade": "F",
      "id": "gowal",
      "name": "GoWal",
      "needs_attention": true,
      "score": 47.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -270,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "grand-valley-transit",
      "name": "Grand Valley Transit",
      "needs_attention": true,
      "score": 55.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -469,
      "expiry_status": "stale",
      "grade": "F",
      "id": "greater-attleboro-taunton-regional-transit-authority-gatra",
      "name": "Greater Attleboro Taunton Regional Transit Authority (GATRA)",
      "needs_attention": true,
      "score": 35.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "greater-dayton-regional-transit-authority-greater-dayton-rta",
      "name": "Greater Dayton Regional Transit Authority (Greater Dayton RTA)",
      "needs_attention": true,
      "score": 66.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').",
      "top_fix_code": "mixed_case_recommended_field"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "greater-glens-falls-transit",
      "name": "Greater Glens Falls Transit",
      "needs_attention": true,
      "score": 20.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1702,
      "expiry_status": "stale",
      "grade": "F",
      "id": "greater-peoria-mass-transit-citylink",
      "name": "Greater Peoria Mass Transit (CityLink)",
      "needs_attention": true,
      "score": 36.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "F",
      "id": "greater-peoria-mass-transit-citylink-2208",
      "name": "Greater Peoria Mass Transit (CityLink)",
      "needs_attention": true,
      "score": 52.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1184,
      "expiry_status": "stale",
      "grade": "F",
      "id": "greater-portland-metro-bus",
      "name": "Greater Portland Metro Bus",
      "needs_attention": true,
      "score": 23.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "greater-portland-metro-bus-2642",
      "name": "Greater Portland Metro Bus",
      "needs_attention": true,
      "score": 54.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_trip_updates_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "greeley-evans-transit-get-2076",
      "name": "Greeley-Evans Transit (GET)",
      "needs_attention": true,
      "score": 71.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2040,
      "expiry_status": "stale",
      "grade": "F",
      "id": "green-bay-metro",
      "name": "Green Bay Metro",
      "needs_attention": true,
      "score": 26.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "green-line-702",
      "name": "Green Line 702",
      "needs_attention": true,
      "score": 61.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -520,
      "expiry_status": "stale",
      "grade": "F",
      "id": "greensboro-transit-authority-gta",
      "name": "Greensboro Transit Authority (GTA)",
      "needs_attention": true,
      "score": 47.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "groome-transportation",
      "name": "Groome Transportation",
      "needs_attention": true,
      "score": 37.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1370,
      "expiry_status": "stale",
      "grade": "F",
      "id": "groome-transportation-greenride",
      "name": "Groome Transportation (Greenride)",
      "needs_attention": true,
      "score": 45.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "groome-transportation-arizona-shuttle",
      "name": "Groome Transportation - Arizona Shuttle",
      "needs_attention": true,
      "score": 44.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "groome-transportation-colorado-springs-shuttle",
      "name": "Groome Transportation - Colorado Springs Shuttle",
      "needs_attention": true,
      "score": 49.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -806,
      "expiry_status": "stale",
      "grade": "F",
      "id": "grtc-transit-system",
      "name": "GRTC Transit System",
      "needs_attention": true,
      "score": 31.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1066,
      "expiry_status": "stale",
      "grade": "F",
      "id": "gtrans",
      "name": "GTrans",
      "needs_attention": true,
      "score": 23.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -378,
      "expiry_status": "stale",
      "grade": "F",
      "id": "guadalupe-flyer",
      "name": "Guadalupe Flyer",
      "needs_attention": true,
      "score": 47.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2039,
      "expiry_status": "stale",
      "grade": "F",
      "id": "gwinnett-county-transit",
      "name": "Gwinnett County Transit",
      "needs_attention": true,
      "score": 42.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "harford-transit-link",
      "name": "Harford Transit LINK",
      "needs_attention": true,
      "score": 32.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1164,
      "expiry_status": "stale",
      "grade": "F",
      "id": "connecticut-transit-597",
      "name": "Hartford Line - Rail",
      "needs_attention": true,
      "score": 58.3,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -951,
      "expiry_status": "stale",
      "grade": "F",
      "id": "hawai-i-mass-transit-agency-hele-on-bus",
      "name": "Hawai'i Mass Transit Agency (Hele-On Bus)",
      "needs_attention": true,
      "score": 51.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1912,
      "expiry_status": "stale",
      "grade": "F",
      "id": "harrisonburg-department-of-public-transportation-hdpt",
      "name": "HDPT",
      "needs_attention": true,
      "score": 30.4,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 57 day(s)",
      "days_until_expiry": 57,
      "expiry_status": "current",
      "grade": "F",
      "id": "hsl-helsinki-region",
      "name": "Helsinki Region Transport (HSL)",
      "needs_attention": true,
      "score": 48.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "herkimer-oneida-counties-transportation-study-hocts",
      "name": "Herkimer-Oneida Counties Transportation Study (HOCTS)",
      "needs_attention": true,
      "score": 24.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3500,
      "expiry_status": "stale",
      "grade": "F",
      "id": "hernando-county-transit-thebus",
      "name": "Hernando County Transit (TheBus)",
      "needs_attention": true,
      "score": 50.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "hiawathaland-transit",
      "name": "Hiawathaland Transit",
      "needs_attention": true,
      "score": 76.2,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "higashiomi-chokotto-bus",
      "name": "Higashiomi City Chokotto Bus (\u6771\u8fd1\u6c5f\u5e02\u3061\u3087\u3053\u3063\u3068\u30d0\u30b9)",
      "needs_attention": true,
      "score": 72.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "hillsborough-area-regional-transit-hart",
      "name": "Hillsborough Area Regional Transit (HART)",
      "needs_attention": true,
      "score": 46.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "B",
      "id": "hirado-city-fureai-bus",
      "name": "Hirado City Fureai Bus (\u5e73\u6238\u5e02\u3075\u308c\u3042\u3044\u30d0\u30b9)",
      "needs_attention": true,
      "score": 81.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -398,
      "expiry_status": "stale",
      "grade": "F",
      "id": "homage-d-arling-direct",
      "name": "Homage: D\u02bcArling Direct",
      "needs_attention": true,
      "score": 48.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -15,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "hornell-area-transit",
      "name": "Hornell Area Transit",
      "needs_attention": true,
      "score": 33.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "hudson-link",
      "name": "Hudson Link",
      "needs_attention": true,
      "score": 82.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "huntington-park-express",
      "name": "Huntington Park Express",
      "needs_attention": true,
      "score": 49.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -63,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "huntington-park-express-2648",
      "name": "Huntington Park Express",
      "needs_attention": true,
      "score": 48.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "huntsville-shuttle",
      "name": "Huntsville Shuttle",
      "needs_attention": true,
      "score": 46.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "ilevia-lille",
      "name": "il\u00e9via (M\u00e9tropole Europ\u00e9enne de Lille)",
      "needs_attention": true,
      "score": 62.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "indian-trails-detroit-ann-arbor-express",
      "name": "Indian Trails, Detroit Ann Arbor Express",
      "needs_attention": true,
      "score": 56.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -890,
      "expiry_status": "stale",
      "grade": "F",
      "id": "indygo",
      "name": "IndyGo",
      "needs_attention": true,
      "score": 37.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "inter-island-ferry",
      "name": "Inter-Island Ferry",
      "needs_attention": true,
      "score": 72.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "F",
      "id": "intercity-buses-cyprus",
      "name": "Intercity Buses Cyprus",
      "needs_attention": true,
      "score": 56.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 41 day(s)",
      "days_until_expiry": 41,
      "expiry_status": "current",
      "grade": "C",
      "id": "intercity-transit",
      "name": "Intercity Transit",
      "needs_attention": true,
      "score": 77.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 42 day(s)",
      "days_until_expiry": 42,
      "expiry_status": "current",
      "grade": "C",
      "id": "ise-okage-bus",
      "name": "Ise Okage Bus (\u4f0a\u52e2\u5e02 \u304a\u304b\u3052\u30d0\u30b9)",
      "needs_attention": true,
      "score": 75.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "island-transit",
      "name": "Island Transit",
      "needs_attention": true,
      "score": 74.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "israel-mot-national",
      "name": "Israel Ministry of Transport national GTFS",
      "needs_attention": true,
      "score": 29.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -124,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "jackson-transit-authority",
      "name": "Jackson Transit Authority",
      "needs_attention": true,
      "score": 59.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2131,
      "expiry_status": "stale",
      "grade": "F",
      "id": "jamestown-s-klallam",
      "name": "Jamestown S'klallam",
      "needs_attention": true,
      "score": 55.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -339,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "janesville-transit-system-2239",
      "name": "Janesville Transit System",
      "needs_attention": true,
      "score": 52.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "jaunt-inc",
      "name": "JAUNT Inc",
      "needs_attention": true,
      "score": 38.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1949,
      "expiry_status": "stale",
      "grade": "F",
      "id": "jeffco-express",
      "name": "JeffCo Express",
      "needs_attention": true,
      "score": 43.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "jfk-airtrain",
      "name": "JFK Airtrain",
      "needs_attention": true,
      "score": 43.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3136,
      "expiry_status": "stale",
      "grade": "F",
      "id": "jonesboro-economical-transportation-jet",
      "name": "Jonesboro Economical Transportation (JET)",
      "needs_attention": true,
      "score": 44.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "B",
      "id": "jr-shikoku-bus-kochi",
      "name": "JR Shikoku Bus, Kochi (JR\u56db\u56fd\u30d0\u30b9 \u9ad8\u77e5\u652f\u5e97)",
      "needs_attention": true,
      "score": 86.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "jtran",
      "name": "JTRAN",
      "needs_attention": true,
      "score": 45.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "jump-around-carson",
      "name": "Jump Around Carson",
      "needs_attention": true,
      "score": 50.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score fell 3.3 points since 2026-08-01",
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kaetsuno-himi-loop-bus",
      "name": "Kaetsuno Himi City Loop Bus (\u52a0\u8d8a\u80fd\u30d0\u30b9 \u6c37\u898b\u5e02\u8857\u5730\u5468\u904a\u30d0\u30b9)",
      "needs_attention": true,
      "score": 75.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from B to C",
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kaetsuno-world-heritage-bus",
      "name": "Kaetsuno World Heritage Bus (\u52a0\u8d8a\u80fd\u30d0\u30b9 \u4e16\u754c\u907a\u7523\u30d0\u30b9)",
      "needs_attention": true,
      "score": 77.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1184,
      "expiry_status": "stale",
      "grade": "F",
      "id": "kalamazoo-metro-transit",
      "name": "Kalamazoo Metro Transit",
      "needs_attention": true,
      "score": 31.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -700,
      "expiry_status": "stale",
      "grade": "F",
      "id": "kalamazoo-metro-transit-2070",
      "name": "Kalamazoo Metro Transit",
      "needs_attention": true,
      "score": 31.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -792,
      "expiry_status": "stale",
      "grade": "F",
      "id": "kalispel-tribal-transit-kaltran",
      "name": "Kalispel Tribal Transit (KalTran)",
      "needs_attention": true,
      "score": 56.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from C to D",
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "kamiichi-town-bus",
      "name": "Kamiichi Town Bus (\u4e0a\u5e02\u753a\u55b6\u30d0\u30b9)",
      "needs_attention": true,
      "score": 69.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -398,
      "expiry_status": "stale",
      "grade": "F",
      "id": "kayak-transit-ctuir",
      "name": "Kayak Transit (CTUIR)",
      "needs_attention": true,
      "score": 46.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 1 day(s)",
      "days_until_expiry": 1,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "ktmb-national",
      "name": "Keretapi Tanah Melayu (KTMB)",
      "needs_attention": true,
      "score": 19.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -566,
      "expiry_status": "stale",
      "grade": "F",
      "id": "key-west-transit",
      "name": "Key West Transit",
      "needs_attention": true,
      "score": 46.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -200,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "kimball-county-transit-service",
      "name": "Kimball County Transit Service",
      "needs_attention": true,
      "score": 51.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 26 day(s)",
      "days_until_expiry": 26,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "king-county-metro",
      "name": "King County Metro",
      "needs_attention": true,
      "score": 79.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "kingman-area-regional-transit",
      "name": "Kingman Area Regional Transit",
      "needs_attention": true,
      "score": 57.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2039,
      "expiry_status": "stale",
      "grade": "F",
      "id": "kings-area-rural-transit",
      "name": "Kings Area Rural Transit",
      "needs_attention": true,
      "score": 42.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -762,
      "expiry_status": "stale",
      "grade": "F",
      "id": "kiryas-joel-area-transit",
      "name": "Kiryas Joel Area Transit",
      "needs_attention": true,
      "score": 55.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 41 day(s)",
      "days_until_expiry": 41,
      "expiry_status": "current",
      "grade": "D",
      "id": "kitsap-transit",
      "name": "Kitsap Transit",
      "needs_attention": true,
      "score": 65.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_trip_updates_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1427,
      "expiry_status": "stale",
      "grade": "F",
      "id": "klamath-shuttle",
      "name": "Klamath Shuttle",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2526,
      "expiry_status": "stale",
      "grade": "F",
      "id": "klamath-shuttle-crater-lake-trolley",
      "name": "Klamath Shuttle - Crater Lake Trolley",
      "needs_attention": true,
      "score": 50.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 42 day(s)",
      "days_until_expiry": 42,
      "expiry_status": "current",
      "grade": "C",
      "id": "komono-kamoshika-bus",
      "name": "Komono Kamoshika Bus (\u83f0\u91ce\u753a \u304b\u3082\u3057\u304b\u53f7)",
      "needs_attention": true,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "kochi-konan-city-bus",
      "name": "Konan City Bus (\u9999\u5357\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": true,
      "score": 75.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2009,
      "expiry_status": "stale",
      "grade": "F",
      "id": "ku-on-wheels-lawrence-transit-system",
      "name": "KU on Wheels & Lawrence Transit System",
      "needs_attention": true,
      "score": 35.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "ku-on-wheels-lawrence-transit-system-2063",
      "name": "KU on Wheels & Lawrence Transit System",
      "needs_attention": true,
      "score": 65.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score fell 3.3 points since 2026-08-01",
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "kurobe-city-bus",
      "name": "Kurobe City Bus (\u9ed2\u90e8\u5e02 \u65b0\u5e79\u7dda\u751f\u5730\u30fb\u77f3\u7530\u4e09\u65e5\u5e02\u30fb\u611b\u672c\u30fb\u96fb\u52d5\u30df\u30cb\u30d0\u30b9)",
      "needs_attention": true,
      "score": 62.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1158,
      "expiry_status": "stale",
      "grade": "F",
      "id": "l-e-w-i-s-mountain-highway-transit",
      "name": "L.E.W.I.S. Mountain Highway Transit",
      "needs_attention": true,
      "score": 54.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "la-puente-link",
      "name": "La Puente LINK",
      "needs_attention": true,
      "score": 48.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "la-puente-link-2250",
      "name": "La Puente LINK",
      "needs_attention": true,
      "score": 48.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "F",
      "id": "lady-of-the-lake",
      "name": "Lady of the Lake",
      "needs_attention": true,
      "score": 57.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2295,
      "expiry_status": "stale",
      "grade": "F",
      "id": "lake-county-connection",
      "name": "Lake County Connection",
      "needs_attention": true,
      "score": 49.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "lake-county-connection-2255",
      "name": "Lake County Connection",
      "needs_attention": true,
      "score": 77.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2129,
      "expiry_status": "stale",
      "grade": "F",
      "id": "lakeland-area-mass-transit",
      "name": "Lakeland Area Mass Transit",
      "needs_attention": true,
      "score": 24.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 56 day(s)",
      "days_until_expiry": 56,
      "expiry_status": "current",
      "grade": "C",
      "id": "laketran",
      "name": "Laketran",
      "needs_attention": true,
      "score": 75.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "lakexpress",
      "name": "LakeXpress",
      "needs_attention": true,
      "score": 38.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -183,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "lane-transit-district-ltd",
      "name": "Lane Transit District (LTD)",
      "needs_attention": true,
      "score": 39.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "le-met-metz",
      "name": "LE MET' (Metz)",
      "needs_attention": true,
      "score": 57.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1426,
      "expiry_status": "stale",
      "grade": "F",
      "id": "lehigh-and-northampton-transportation-authority-lanta",
      "name": "Lehigh and Northampton Transportation Authority (LANTA)",
      "needs_attention": true,
      "score": 14.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "let-er-bus",
      "name": "Let'er Bus",
      "needs_attention": true,
      "score": 65.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1821,
      "expiry_status": "stale",
      "grade": "F",
      "id": "lextran",
      "name": "Lextran",
      "needs_attention": true,
      "score": 36.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "lextran-2067",
      "name": "Lextran",
      "needs_attention": true,
      "score": 59.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "lignes-dazur-nice",
      "name": "Lignes d'Azur (Nice)",
      "needs_attention": true,
      "score": 51.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2405,
      "expiry_status": "stale",
      "grade": "F",
      "id": "limoliner",
      "name": "LimoLiner",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "lincoln-county-transit-lct",
      "name": "Lincoln County Transit (LCT)",
      "needs_attention": true,
      "score": 84.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-08-02",
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "link-transit-1971",
      "name": "Link Transit",
      "needs_attention": true,
      "score": 71.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -94,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "livermore-amador-valley-transit-authority",
      "name": "Livermore Amador Valley Transit Authority",
      "needs_attention": true,
      "score": 58.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "lpp-ljubljana",
      "name": "Ljubljanski potni\u0161ki promet (LPP)",
      "needs_attention": true,
      "score": 48.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "maryland-transit-administration",
      "name": "Local Bus",
      "needs_attention": true,
      "score": 51.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2039,
      "expiry_status": "stale",
      "grade": "F",
      "id": "logan-express",
      "name": "Logan Express",
      "needs_attention": true,
      "score": 48.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "london-transit-commission",
      "name": "London Transit Commission (Ontario)",
      "needs_attention": true,
      "score": 62.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "long-beach-transit-lbt",
      "name": "Long Beach Transit (LBT)",
      "needs_attention": true,
      "score": 27.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "D",
      "id": "long-island-rail-road",
      "name": "Long Island Rail Road",
      "needs_attention": true,
      "score": 68.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "C",
      "id": "metropolitan-transit-authority-mta",
      "name": "Long Island Rail Road",
      "needs_attention": true,
      "score": 74.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "los-angeles-county-metropolitan-transportation-authority-la-metro-30",
      "name": "Los Angeles County Metropolitan Transportation Authority (LA Metro) Rail",
      "needs_attention": true,
      "score": 53.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "loudoun-county-transit-2411",
      "name": "Loudoun County Transit Flex",
      "needs_attention": true,
      "score": 67.7,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -388,
      "expiry_status": "stale",
      "grade": "F",
      "id": "lower-columbia-cap-community-action-program",
      "name": "Lower Columbia CAP (Community Action Program)",
      "needs_attention": true,
      "score": 48.1,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "lummi-island-ferry",
      "name": "Lummi Island Ferry",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -81,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "lummi-transit",
      "name": "Lummi Transit",
      "needs_attention": true,
      "score": 42.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "lynwood-trolley-breeze",
      "name": "Lynwood Trolley / Breeze",
      "needs_attention": true,
      "score": 46.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1548,
      "expiry_status": "stale",
      "grade": "F",
      "id": "madison-county-transit-1145",
      "name": "Madison County Transit",
      "needs_attention": true,
      "score": 7.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "magnetic-island-ferry",
      "name": "Magnetic Island Ferry (Translink)",
      "needs_attention": true,
      "score": 73.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -854,
      "expiry_status": "stale",
      "grade": "F",
      "id": "makah-public-transit",
      "name": "Makah Public Transit",
      "needs_attention": true,
      "score": 53.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "malheur-council-on-aging-community-services",
      "name": "Malheur Council on Aging & Community Services",
      "needs_attention": true,
      "score": 67.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2064,
      "expiry_status": "stale",
      "grade": "F",
      "id": "manatee-county-area-transit",
      "name": "Manatee County Area Transit",
      "needs_attention": true,
      "score": 39.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "metropolitan-transit-authority-mta-513",
      "name": "Manhattan Bus",
      "needs_attention": true,
      "score": 61.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "marble-valley-regional-transit-district-mvrtd",
      "name": "Marble Valley Regional Transit District (MVRTD)",
      "needs_attention": true,
      "score": 62.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "marble-valley-regional-transit-district-mvrtd-2831",
      "name": "Marble Valley Regional Transit District (MVRTD) Flex",
      "needs_attention": true,
      "score": 50.7,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 42 day(s)",
      "days_until_expiry": 42,
      "expiry_status": "current",
      "grade": "B",
      "id": "marin-transit",
      "name": "Marin Transit",
      "needs_attention": true,
      "score": 82.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 42 day(s)",
      "days_until_expiry": 42,
      "expiry_status": "current",
      "grade": "D",
      "id": "marin-transit-2937",
      "name": "Marin Transit",
      "needs_attention": true,
      "score": 65.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_trip_updates_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "mason-transit-authority",
      "name": "Mason Transit Authority",
      "needs_attention": true,
      "score": 82.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2406,
      "expiry_status": "stale",
      "grade": "F",
      "id": "mass-transportation-authority-flint",
      "name": "Mass Transportation Authority Flint",
      "needs_attention": true,
      "score": 45.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "massachusetts-bay-transportation-authority-mbta",
      "name": "Massachusetts Bay Transportation Authority (MBTA)",
      "needs_attention": true,
      "score": 67.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'same_name_and_description_for_stop' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "same_name_and_description_for_stop"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -5693,
      "expiry_status": "stale",
      "grade": "F",
      "id": "massachusetts-ferry-service",
      "name": "Massachusetts Ferry Service",
      "needs_attention": true,
      "score": 40.6,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from B to C",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "massport",
      "name": "Massport",
      "needs_attention": true,
      "score": 80.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1264,
      "expiry_status": "stale",
      "grade": "F",
      "id": "matbus",
      "name": "MATBUS",
      "needs_attention": true,
      "score": 41.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1940,
      "expiry_status": "stale",
      "grade": "F",
      "id": "memphis-area-transit-authority",
      "name": "Memphis Area Transit Authority",
      "needs_attention": true,
      "score": 27.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -510,
      "expiry_status": "stale",
      "grade": "F",
      "id": "memphis-area-transit-authority-2352",
      "name": "Memphis Area Transit Authority",
      "needs_attention": true,
      "score": 40.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "mendocino-transit-authority",
      "name": "Mendocino Transit Authority",
      "needs_attention": true,
      "score": 70.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -90,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "merced-county-transit-the-bus",
      "name": "Merced County Transit (The Bus)",
      "needs_attention": true,
      "score": 58.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "C",
      "id": "merrimack-valley-regional-transit-authority-mvrta",
      "name": "Merrimack Valley Regional Transit Authority (MVRTA)",
      "needs_attention": true,
      "score": 75.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "metro-bilbao",
      "name": "Metro Bilbao",
      "needs_attention": true,
      "score": 61.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-07-30",
      "days_until_expiry": -26,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "metro-malaga",
      "name": "Metro de M\u00e1laga",
      "needs_attention": true,
      "score": 47.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -57,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "metro-houston-2060",
      "name": "METRO Houston",
      "needs_attention": true,
      "score": 40.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 0 day(s)",
      "days_until_expiry": 0,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "metro-rock-island-county-metropolitan-mass-transit-district",
      "name": "Metro Rock Island County Metropolitan Mass Transit District",
      "needs_attention": true,
      "score": 35.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "metro-st-louis",
      "name": "Metro St. Louis",
      "needs_attention": true,
      "score": 64.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 47 day(s)",
      "days_until_expiry": 47,
      "expiry_status": "current",
      "grade": "B",
      "id": "metro-transit",
      "name": "Metro Transit",
      "needs_attention": true,
      "score": 80.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "metro-transit-city-of-madison",
      "name": "Metro Transit - City of Madison",
      "needs_attention": true,
      "score": 76.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 26 day(s)",
      "days_until_expiry": 26,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "metrobus-sussex",
      "name": "Metrobus",
      "needs_attention": true,
      "score": 44.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2590,
      "expiry_status": "stale",
      "grade": "F",
      "id": "metropolitan-area-commuter-system",
      "name": "Metropolitan Area Commuter System",
      "needs_attention": true,
      "score": 36.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 19 day(s)",
      "days_until_expiry": 19,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "metropolitan-atlanta-rapid-transit-authority-marta",
      "name": "Metropolitan Atlanta Rapid Transit Authority (MARTA)",
      "needs_attention": true,
      "score": 49.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2406,
      "expiry_status": "stale",
      "grade": "D",
      "id": "metropolitan-transit-authority-of-black-hawk-county",
      "name": "Metropolitan Transit Authority of Black Hawk County",
      "needs_attention": true,
      "score": 60.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1079,
      "expiry_status": "stale",
      "grade": "F",
      "id": "metropolitan-tulsa-transit-authority-mtta",
      "name": "Metropolitan Tulsa Transit Authority (MTTA)",
      "needs_attention": true,
      "score": 28.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -520,
      "expiry_status": "stale",
      "grade": "F",
      "id": "michigan-flyer",
      "name": "Michigan Flyer",
      "needs_attention": true,
      "score": 57.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2040,
      "expiry_status": "stale",
      "grade": "F",
      "id": "microsoft-shuttles",
      "name": "Microsoft Shuttles",
      "needs_attention": true,
      "score": 18.9,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1129,
      "expiry_status": "stale",
      "grade": "F",
      "id": "middletown-area-transit",
      "name": "Middletown Area Transit",
      "needs_attention": true,
      "score": 45.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -930,
      "expiry_status": "stale",
      "grade": "F",
      "id": "middletown-area-transit-2324",
      "name": "Middletown Area Transit",
      "needs_attention": true,
      "score": 55.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -883,
      "expiry_status": "stale",
      "grade": "F",
      "id": "milwaukee-county-transit-system-mcts",
      "name": "Milwaukee County Transit System (MCTS)",
      "needs_attention": true,
      "score": 39.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "minamichita-umikko-bus",
      "name": "Minamichita Town Umikko Bus (\u5357\u77e5\u591a\u753a\u6d77\u3063\u5b50\u30d0\u30b9)",
      "needs_attention": true,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 24 day(s)",
      "days_until_expiry": 24,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "minnesota-valley-transit-authority-mvta",
      "name": "Minnesota Valley Transit Authority (MVTA)",
      "needs_attention": true,
      "score": 44.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the vehicle positions endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_vehicle_positions_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from C to D",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "mizuho-choisoko-demand-transit",
      "name": "Mizuho Town Choi-Soko Demand Transit (\u30c1\u30e7\u30a4\u30bd\u30b3\u307f\u305a\u307b\u307e\u3061)",
      "needs_attention": true,
      "score": 69.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_timepoint_without_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_timepoint_without_times"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -884,
      "expiry_status": "stale",
      "grade": "F",
      "id": "modesto-area-express",
      "name": "Modesto Area Express",
      "needs_attention": true,
      "score": 31.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -876,
      "expiry_status": "stale",
      "grade": "F",
      "id": "monroe-county-transportation-authority-mcta",
      "name": "Monroe County Transportation Authority (MCTA)",
      "needs_attention": true,
      "score": 52.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "montachusett-regional-transit-authority-mart",
      "name": "Montachusett Regional Transit Authority (MART)",
      "needs_attention": true,
      "score": 77.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1858,
      "expiry_status": "stale",
      "grade": "F",
      "id": "montebello-bus-lines",
      "name": "Montebello Bus Lines",
      "needs_attention": true,
      "score": 46.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 35 day(s)",
      "days_until_expiry": 35,
      "expiry_status": "current",
      "grade": "D",
      "id": "montebello-bus-lines-2201",
      "name": "Montebello Bus Lines",
      "needs_attention": true,
      "score": 67.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 26 day(s)",
      "days_until_expiry": 26,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "monterey-salinas-transit-mst",
      "name": "Monterey-Salinas Transit (MST)",
      "needs_attention": true,
      "score": 58.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "F",
      "id": "montgomery-county-department-of-transportation-ride-on",
      "name": "Montgomery County Department of Transportation (Ride On)",
      "needs_attention": true,
      "score": 41.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "montelibus-montelimar",
      "name": "Mont\u00e9libus (Mont\u00e9limar)",
      "needs_attention": true,
      "score": 45.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "moorpark-city-transit",
      "name": "Moorpark City Transit",
      "needs_attention": true,
      "score": 67.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "moova-vesoul",
      "name": "moova (Vesoul)",
      "needs_attention": true,
      "score": 28.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1712,
      "expiry_status": "stale",
      "grade": "F",
      "id": "moover",
      "name": "MOOver",
      "needs_attention": true,
      "score": 39.5,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 42 day(s)",
      "days_until_expiry": 42,
      "expiry_status": "current",
      "grade": "D",
      "id": "morebus",
      "name": "Morebus",
      "needs_attention": true,
      "score": 64.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1752,
      "expiry_status": "stale",
      "grade": "F",
      "id": "morro-bay-transit",
      "name": "Morro Bay Transit",
      "needs_attention": true,
      "score": 53.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -428,
      "expiry_status": "stale",
      "grade": "F",
      "id": "morro-bay-transit-2059",
      "name": "Morro Bay Transit",
      "needs_attention": true,
      "score": 48.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "mountain-empire-transit",
      "name": "Mountain Empire Transit Flex",
      "needs_attention": true,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1154,
      "expiry_status": "stale",
      "grade": "F",
      "id": "mountain-express-mtnexp",
      "name": "Mountain Express (MtnExp)",
      "needs_attention": true,
      "score": 55.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -217,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "mountain-line-1148",
      "name": "Mountain Line",
      "needs_attention": true,
      "score": 28.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 4 day(s)",
      "days_until_expiry": 4,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "mountain-lynx-transit-2447",
      "name": "Mountain Lynx Transit Flex",
      "needs_attention": true,
      "score": 36.8,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3228,
      "expiry_status": "stale",
      "grade": "F",
      "id": "mountain-metropolitan-transit",
      "name": "Mountain Metropolitan Transit",
      "needs_attention": true,
      "score": 26.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -309,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "mountain-metropolitan-transit-2356",
      "name": "Mountain Metropolitan Transit",
      "needs_attention": true,
      "score": 44.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -5693,
      "expiry_status": "stale",
      "grade": "F",
      "id": "mountain-rides-transportation-authority-mrta",
      "name": "Mountain Rides Transportation Authority (MRTA)",
      "needs_attention": true,
      "score": 41.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "mountain-view-transportation-management-association-mvgo",
      "name": "Mountain View Transportation Management Association (MVgo)",
      "needs_attention": true,
      "score": 47.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "move-vendome",
      "name": "Move (Vend\u00f4me)",
      "needs_attention": true,
      "score": 41.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "move-stanislaus",
      "name": "Move Stanislaus",
      "needs_attention": true,
      "score": 75.7,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "mpk-legnica",
      "name": "MPK Legnica",
      "needs_attention": true,
      "score": 63.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1128,
      "expiry_status": "stale",
      "grade": "F",
      "id": "mt-bachelor",
      "name": "Mt. Bachelor",
      "needs_attention": true,
      "score": 50.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "muckleshoot-tribal-transit",
      "name": "Muckleshoot Tribal Transit",
      "needs_attention": true,
      "score": 78.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -220,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "muletown-trolley",
      "name": "Muletown Trolley",
      "needs_attention": true,
      "score": 55.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3515,
      "expiry_status": "stale",
      "grade": "F",
      "id": "muncie-indiana-transit-system-mits",
      "name": "Muncie Indiana Transit System (MITS)",
      "needs_attention": true,
      "score": 29.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "mvv-munchen",
      "name": "M\u00fcnchner Verkehrs- und Tarifverbund (MVV)",
      "needs_attention": true,
      "score": 40.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "nantucket-regional-transit-authority-wave",
      "name": "Nantucket Regional Transit Authority (WAVE)",
      "needs_attention": true,
      "score": 69.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-08-01",
      "days_until_expiry": 41,
      "expiry_status": "current",
      "grade": "F",
      "id": "nassau-inter-county-express-nice-bus",
      "name": "Nassau Inter-County Express (NICE Bus)",
      "needs_attention": true,
      "score": 57.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2009,
      "expiry_status": "stale",
      "grade": "F",
      "id": "navajo-transit-system",
      "name": "Navajo Transit System",
      "needs_attention": true,
      "score": 56.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82998",
      "name": "Navette estivale Cort\u00e9 - vall\u00e9e de la Restonica",
      "needs_attention": true,
      "score": 68.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -183,
      "expiry_status": "lapsed",
      "grade": "D",
      "id": "nevada-county-connects-gold-country-stage",
      "name": "Nevada County Connects (Gold Country Stage)",
      "needs_attention": true,
      "score": 61.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "new-york-trailways",
      "name": "New York Trailways",
      "needs_attention": true,
      "score": 14.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "newburgh-beacon-shuttle-leprechaun-lines",
      "name": "Newburgh Beacon Shuttle (Leprechaun Lines)",
      "needs_attention": true,
      "score": 40.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 0 day(s)",
      "days_until_expiry": 0,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "newbury-district",
      "name": "Newbury & District",
      "needs_attention": true,
      "score": 49.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -778,
      "expiry_status": "stale",
      "grade": "F",
      "id": "niagara-frontier-transportation-authority-nfta",
      "name": "Niagara Frontier Transportation Authority (NFTA)",
      "needs_attention": true,
      "score": 29.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "nisqually-transit",
      "name": "Nisqually Transit",
      "needs_attention": true,
      "score": 49.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2224,
      "expiry_status": "stale",
      "grade": "F",
      "id": "north-carolina-state-university-ncsu",
      "name": "North Carolina State University (NCSU)",
      "needs_attention": true,
      "score": 46.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "north-carolina-state-university-ncsu-2245",
      "name": "North Carolina State University (NCSU)",
      "needs_attention": true,
      "score": 62.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1828,
      "expiry_status": "stale",
      "grade": "F",
      "id": "north-central-regional-transit-district-ncrtd",
      "name": "North Central Regional Transit District (NCRTD)",
      "needs_attention": true,
      "score": 41.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1844,
      "expiry_status": "stale",
      "grade": "F",
      "id": "northwest-point",
      "name": "NorthWest POINT",
      "needs_attention": true,
      "score": 45.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "norwalk-transit-district",
      "name": "Norwalk Transit District",
      "needs_attention": true,
      "score": 20.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1309,
      "expiry_status": "stale",
      "grade": "F",
      "id": "norwalk-transit-system-nts",
      "name": "Norwalk Transit System (NTS)",
      "needs_attention": true,
      "score": 22.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "ny-waterway",
      "name": "NY Waterway",
      "needs_attention": true,
      "score": 33.0,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "metropolitan-transit-authority-mta-510",
      "name": "NYC Bus Company",
      "needs_attention": true,
      "score": 69.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "C",
      "id": "metropolitan-transit-authority-mta-516",
      "name": "NYC Subway",
      "needs_attention": true,
      "score": 74.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "D",
      "id": "metropolitan-transit-authority-mta-511",
      "name": "NYC Subway Supplemented",
      "needs_attention": true,
      "score": 63.6,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "F",
      "id": "oakville-transit",
      "name": "Oakville Transit",
      "needs_attention": true,
      "score": 58.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "oasa-athens-rail",
      "name": "OASA Athens rail transport (metro, electric railway, tram)",
      "needs_attention": true,
      "score": 58.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2263,
      "expiry_status": "stale",
      "grade": "F",
      "id": "ocean-city-transportation",
      "name": "Ocean City Transportation",
      "needs_attention": true,
      "score": 34.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2248,
      "expiry_status": "stale",
      "grade": "F",
      "id": "omaha-metro",
      "name": "Omaha Metro",
      "needs_attention": true,
      "score": 39.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "B",
      "id": "omnitrans",
      "name": "OmniTrans",
      "needs_attention": true,
      "score": 88.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the flagged stop times for transposed minutes.",
      "top_fix_code": "fast_travel_between_consecutive_stops"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 6 day(s)",
      "days_until_expiry": 6,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "orange-county-transportation-authority-octa",
      "name": "Orange County Transportation Authority (OCTA)",
      "needs_attention": true,
      "score": 39.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "oregon-department-of-transportation",
      "name": "Oregon Department of Transportation",
      "needs_attention": true,
      "score": 83.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "oregon-express-shuttle",
      "name": "Oregon Express Shuttle",
      "needs_attention": true,
      "score": 67.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -63,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "otsego-express-public-transportation",
      "name": "Otsego Express Public Transportation",
      "needs_attention": true,
      "score": 40.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from C to D",
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "D",
      "id": "owari-asahi-asapy-go",
      "name": "Owari Asahi Asapy-go (\u5c3e\u5f35\u65ed\u5e02\u55b6\u30d0\u30b9 \u3042\u3055\u3074\u30fc\u53f7)",
      "needs_attention": true,
      "score": 68.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -855,
      "expiry_status": "stale",
      "grade": "F",
      "id": "pace-bus",
      "name": "Pace Bus",
      "needs_attention": true,
      "score": 47.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "pace-bus-2347",
      "name": "Pace Bus",
      "needs_attention": true,
      "score": 60.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "pacific-crest-bus-lines",
      "name": "Pacific Crest Bus Lines",
      "needs_attention": true,
      "score": 72.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 48 day(s)",
      "days_until_expiry": 48,
      "expiry_status": "current",
      "grade": "D",
      "id": "palm-tran",
      "name": "Palm Tran",
      "needs_attention": true,
      "score": 61.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "palo-verde-valley-transit-agency",
      "name": "Palo Verde Valley Transit Agency",
      "needs_attention": true,
      "score": 50.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "D",
      "id": "panevezys-district-public-transport",
      "name": "Panev\u0117\u017eys district public transport",
      "needs_attention": true,
      "score": 69.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1128,
      "expiry_status": "stale",
      "grade": "F",
      "id": "pasco-county-public-transportation",
      "name": "Pasco County Public Transportation",
      "needs_attention": true,
      "score": 45.3,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "B",
      "id": "patco-speedline",
      "name": "PATCO Speedline",
      "needs_attention": true,
      "score": 83.6,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "patriots-party-boats",
      "name": "Patriots Party Boats",
      "needs_attention": true,
      "score": 72.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1129,
      "expiry_status": "stale",
      "grade": "F",
      "id": "petaluma-transit",
      "name": "Petaluma Transit",
      "needs_attention": true,
      "score": 48.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "peter-pan",
      "name": "Peter Pan",
      "needs_attention": true,
      "score": 43.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1584,
      "expiry_status": "stale",
      "grade": "F",
      "id": "philomath-connection",
      "name": "Philomath Connection",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "pierce-transit",
      "name": "Pierce Transit",
      "needs_attention": true,
      "score": 73.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -57,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "pinellas-suncoast-transit-authority-psta",
      "name": "Pinellas Suncoast Transit Authority (PSTA)",
      "needs_attention": true,
      "score": 34.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -869,
      "expiry_status": "stale",
      "grade": "F",
      "id": "pioneer-valley-transit-authority-pvta",
      "name": "Pioneer Valley Transit Authority (PVTA)",
      "needs_attention": true,
      "score": 30.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "pioneer-valley-transit-authority-pvta-2416",
      "name": "Pioneer Valley Transit Authority (PVTA)",
      "needs_attention": true,
      "score": 33.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "skm-trojmiasto",
      "name": "PKP Szybka Kolej Miejska w Tr\u00f3jmie\u015bcie (SKM)",
      "needs_attention": true,
      "score": 36.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "D",
      "id": "tahoe-area-regional-transit-tart-north-lake-tahoe-express",
      "name": "Placer County",
      "needs_attention": true,
      "score": 64.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "placer-county-transit",
      "name": "Placer County Transit",
      "needs_attention": true,
      "score": 80.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1681,
      "expiry_status": "stale",
      "grade": "F",
      "id": "playa-vista-shuttle",
      "name": "Playa Vista Shuttle",
      "needs_attention": true,
      "score": 46.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "plumas-transit",
      "name": "Plumas Transit",
      "needs_attention": true,
      "score": 69.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "plymouth-brockton-street-railway-co",
      "name": "Plymouth & Brockton Street Railway Co",
      "needs_attention": true,
      "score": 88.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -62,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "port-authority-trans-hudson-path",
      "name": "Port Authority Trans-Hudson (PATH)",
      "needs_attention": true,
      "score": 52.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2395,
      "expiry_status": "stale",
      "grade": "F",
      "id": "portage-area-regional-transportation-authority-parta",
      "name": "Portage Area Regional Transportation Authority (PARTA)",
      "needs_attention": true,
      "score": 36.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "portage-area-regional-transportation-authority-parta-2256",
      "name": "Portage Area Regional Transportation Authority (PARTA)",
      "needs_attention": true,
      "score": 51.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1036,
      "expiry_status": "stale",
      "grade": "F",
      "id": "porterville-transit",
      "name": "Porterville Transit",
      "needs_attention": true,
      "score": 41.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-08-02",
      "days_until_expiry": -637,
      "expiry_status": "stale",
      "grade": "F",
      "id": "potomac-and-rappahannock-transportation-commission-prtc",
      "name": "Potomac and Rappahannock Transportation Commission (PRTC)",
      "needs_attention": true,
      "score": 24.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 181,
      "expiry_status": "current",
      "grade": "F",
      "id": "potomac-and-rappahannock-transportation-commission-prtc-omniride",
      "name": "Potomac and Rappahannock Transportation Commission (PRTC) Omniride",
      "needs_attention": true,
      "score": 56.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "pid-prague",
      "name": "Pra\u017esk\u00e1 integrovan\u00e1 doprava (PID)",
      "needs_attention": true,
      "score": 31.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 26 day(s)",
      "days_until_expiry": 26,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "metro-transit-intercity-transit-city-of-seattle-community-transit-pierce-transit-sound-transit-washington-state-ferries-seattlecentermonorail-everett-transit-seattle-children-s-hospital",
      "name": "Puget Sound Consolidated GTFS",
      "needs_attention": true,
      "score": 37.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2500,
      "expiry_status": "stale",
      "grade": "F",
      "id": "puget-sound-express",
      "name": "Puget Sound Express",
      "needs_attention": true,
      "score": 53.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1494,
      "expiry_status": "stale",
      "grade": "F",
      "id": "pulaski-area-transit-pat",
      "name": "Pulaski Area Transit (PAT)",
      "needs_attention": true,
      "score": 42.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "pulaski-area-transit-pat-2198",
      "name": "Pulaski Area Transit (PAT)",
      "needs_attention": true,
      "score": 64.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "pulaski-area-transit-pat-2442",
      "name": "Pulaski Area Transit (PAT) Flex",
      "needs_attention": true,
      "score": 66.9,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "qline-detroit",
      "name": "Qline Detroit",
      "needs_attention": true,
      "score": 50.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "quail-trail-public-transit",
      "name": "Quail Trail Public Transit",
      "needs_attention": true,
      "score": 68.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2040,
      "expiry_status": "stale",
      "grade": "F",
      "id": "queen-anne-s-county-ride",
      "name": "Queen Anne's County Ride",
      "needs_attention": true,
      "score": 59.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "metropolitan-transit-authority-mta-520",
      "name": "Queens Bus",
      "needs_attention": true,
      "score": 60.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "rabbit-transit",
      "name": "Rabbit Transit",
      "needs_attention": true,
      "score": 34.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "radford-transit",
      "name": "Radford Transit",
      "needs_attention": true,
      "score": 54.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "rapidkl-mrtfeeder",
      "name": "Rapid KL MRT feeder bus",
      "needs_attention": true,
      "score": 46.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "rapidpenang-bus",
      "name": "Rapid Penang",
      "needs_attention": true,
      "score": 52.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "reading-buses",
      "name": "Reading Buses",
      "needs_attention": true,
      "score": 58.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "red-rose-transit-authority-rrta",
      "name": "Red Rose Transit Authority (RRTA)",
      "needs_attention": true,
      "score": 48.0,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -69,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "redding-area-bus-authority",
      "name": "Redding Area Bus Authority",
      "needs_attention": true,
      "score": 56.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1036,
      "expiry_status": "stale",
      "grade": "F",
      "id": "redding-area-bus-authority-raba",
      "name": "Redding Area Bus Authority (RABA)",
      "needs_attention": true,
      "score": 26.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "redding-area-bus-authority-raba-1972",
      "name": "Redding Area Bus Authority (RABA)",
      "needs_attention": true,
      "score": 37.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "redding-area-bus-authority-2853",
      "name": "Redding Area Bus Authority Flex",
      "needs_attention": true,
      "score": 37.8,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -71,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "redwood-coast-transit-rct",
      "name": "Redwood Coast Transit (RCT)",
      "needs_attention": true,
      "score": 55.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1949,
      "expiry_status": "stale",
      "grade": "F",
      "id": "regional-transit-service",
      "name": "Regional Transit Service",
      "needs_attention": true,
      "score": 37.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -5876,
      "expiry_status": "stale",
      "grade": "F",
      "id": "regional-transit-service-seneca-rts-seneca",
      "name": "Regional Transit Service Seneca (RTS Seneca)",
      "needs_attention": true,
      "score": 38.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 33 day(s)",
      "days_until_expiry": 33,
      "expiry_status": "current",
      "grade": "C",
      "id": "regional-transportation-commission-rtc",
      "name": "Regional Transportation Commission (RTC)",
      "needs_attention": true,
      "score": 72.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -869,
      "expiry_status": "stale",
      "grade": "F",
      "id": "regional-transportation-commission-of-southern-nevada-rtc",
      "name": "Regional Transportation Commission of Southern Nevada (RTC)",
      "needs_attention": true,
      "score": 33.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 55 day(s)",
      "days_until_expiry": 55,
      "expiry_status": "current",
      "grade": "F",
      "id": "regional-transportation-district",
      "name": "Regional Transportation District",
      "needs_attention": true,
      "score": 42.3,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_only_arrival_or_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_only_arrival_or_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 55 day(s)",
      "days_until_expiry": 55,
      "expiry_status": "current",
      "grade": "C",
      "id": "regional-transportation-district-rtd-178",
      "name": "Regional Transportation District (RTD)",
      "needs_attention": true,
      "score": 75.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -111,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "relaxsan",
      "name": "reLAXsan",
      "needs_attention": true,
      "score": 54.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 26 day(s)",
      "days_until_expiry": 26,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "rhode-island-public-transit-authority",
      "name": "Rhode Island Public Transit Authority",
      "needs_attention": true,
      "score": 66.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "rhody-express",
      "name": "Rhody Express",
      "needs_attention": true,
      "score": 70.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "ride-sitka",
      "name": "RIDE Sitka",
      "needs_attention": true,
      "score": 52.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -366,
      "expiry_status": "stale",
      "grade": "F",
      "id": "ridgecrest-transit",
      "name": "Ridgecrest Transit",
      "needs_attention": true,
      "score": 52.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "ridgerunner",
      "name": "Ridgerunner",
      "needs_attention": true,
      "score": 19.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -824,
      "expiry_status": "stale",
      "grade": "D",
      "id": "rio-metro-regional-transit-district",
      "name": "Rio Metro Regional Transit District",
      "needs_attention": true,
      "score": 63.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -548,
      "expiry_status": "stale",
      "grade": "F",
      "id": "rio-vista-delta-breeze",
      "name": "Rio Vista Delta Breeze",
      "needs_attention": true,
      "score": 52.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "ritmo-haguenau",
      "name": "Ritmo (Haguenau)",
      "needs_attention": true,
      "score": 44.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 41 day(s)",
      "days_until_expiry": 41,
      "expiry_status": "current",
      "grade": "D",
      "id": "riverside-transit-agency",
      "name": "Riverside Transit Agency",
      "needs_attention": true,
      "score": 66.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "rlv-riom",
      "name": "RLV Mobilit\u00e9s (Riom)",
      "needs_attention": true,
      "score": 18.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3500,
      "expiry_status": "stale",
      "grade": "F",
      "id": "roadrunner",
      "name": "RoadRunner",
      "needs_attention": true,
      "score": 53.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1095,
      "expiry_status": "stale",
      "grade": "D",
      "id": "roadrunner-transit",
      "name": "RoadRUNNER Transit",
      "needs_attention": true,
      "score": 61.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "roadrunner-transit-2075",
      "name": "RoadRUNNER Transit",
      "needs_attention": true,
      "score": 55.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 49 day(s)",
      "days_until_expiry": 49,
      "expiry_status": "current",
      "grade": "C",
      "id": "roaring-fork-transportation-authority",
      "name": "Roaring Fork Transportation Authority",
      "needs_attention": true,
      "score": 79.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 49 day(s)",
      "days_until_expiry": 49,
      "expiry_status": "current",
      "grade": "C",
      "id": "roaring-fork-transportation-authority-2278",
      "name": "Roaring Fork Transportation Authority",
      "needs_attention": true,
      "score": 79.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "roaring-fork-transportation-authority-rfta",
      "name": "Roaring Fork Transportation Authority (RFTA) Flex",
      "needs_attention": true,
      "score": 76.7,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3866,
      "expiry_status": "stale",
      "grade": "F",
      "id": "rochester-city-lines",
      "name": "Rochester City Lines",
      "needs_attention": true,
      "score": 50.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 35 day(s)",
      "days_until_expiry": 35,
      "expiry_status": "current",
      "grade": "D",
      "id": "rochester-genesee-regional-transportation-authority-rgrta",
      "name": "Rochester-Genesee Regional Transportation Authority (RGRTA)",
      "needs_attention": true,
      "score": 63.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3867,
      "expiry_status": "stale",
      "grade": "F",
      "id": "rock-region-metro",
      "name": "Rock Region Metro",
      "needs_attention": true,
      "score": 39.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -287,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "rock-region-metro-2264",
      "name": "Rock Region Metro",
      "needs_attention": true,
      "score": 36.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -211,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "rockford-mass-transit-district",
      "name": "Rockford Mass Transit District",
      "needs_attention": true,
      "score": 46.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "rockingham-moover",
      "name": "Rockingham MOOver",
      "needs_attention": true,
      "score": 81.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -140,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "rogue-valley-transportation-district-rvtd",
      "name": "Rogue Valley Transportation District (RVTD)",
      "needs_attention": true,
      "score": 47.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -42,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "rogue-valley-transportation-district-rvtd-3103",
      "name": "Rogue Valley Transportation District (RVTD)",
      "needs_attention": true,
      "score": 44.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 38 day(s)",
      "days_until_expiry": 38,
      "expiry_status": "current",
      "grade": "F",
      "id": "roma-servizi-mobilita",
      "name": "Roma Servizi per la Mobilit\u00e0",
      "needs_attention": true,
      "score": 30.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "rosemead-explorer",
      "name": "Rosemead Explorer",
      "needs_attention": true,
      "score": 51.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "rosemead-explorer-3098",
      "name": "Rosemead Explorer",
      "needs_attention": true,
      "score": 57.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "ruraltransit",
      "name": "ruralTRANSIT",
      "needs_attention": true,
      "score": 66.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1493,
      "expiry_status": "stale",
      "grade": "F",
      "id": "ryde-racine",
      "name": "Ryde Racine",
      "needs_attention": true,
      "score": 45.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from C to D",
      "days_until_expiry": 138,
      "expiry_status": "current",
      "grade": "D",
      "id": "rtc-quebec",
      "name": "R\u00e9seau de transport de la Capitale (RTC)",
      "needs_attention": true,
      "score": 69.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-81479",
      "name": "R\u00e9seau interurbain BreizhGo Bateaux \u2014 Breizhgo Bateaux Br\u00e9hat",
      "needs_attention": true,
      "score": 71.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "fluo-grand-est-aube",
      "name": "R\u00e9seau interurbain Fluo Grand Est - Aube",
      "needs_attention": true,
      "score": 28.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82305",
      "name": "R\u00e9seau maritime de Corse du Sud",
      "needs_attention": true,
      "score": 57.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "reseau-mistral-toulon",
      "name": "R\u00e9seau Mistral (Toulon)",
      "needs_attention": true,
      "score": 54.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81252",
      "name": "R\u00e9seau urbain A Citadina",
      "needs_attention": true,
      "score": 59.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "cap-cotentin",
      "name": "R\u00e9seau urbain Cap Cotentin",
      "needs_attention": true,
      "score": 44.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-cmonbus",
      "name": "R\u00e9seau urbain Cmonbus",
      "needs_attention": true,
      "score": 67.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-07-30",
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-cmonbus-chaumont",
      "name": "R\u00e9seau urbain Cmonbus",
      "needs_attention": true,
      "score": 65.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81042",
      "name": "R\u00e9seau urbain et interurbain Aire\u2019MOB",
      "needs_attention": true,
      "score": 62.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-79272",
      "name": "R\u00e9seau urbain et scolaire T'CAP \u2014 dsp24data-gtfs-2024-09-23-15-45-06.zip",
      "needs_attention": true,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81342",
      "name": "R\u00e9seau urbain et scolaire T'CAP \u2014 sco24data-gtfs-2024-10-16-10-39-46.zip",
      "needs_attention": true,
      "score": 68.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-grandole-mobilites",
      "name": "R\u00e9seau urbain Grandole Mobilit\u00e9s",
      "needs_attention": true,
      "score": 71.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81519",
      "name": "R\u00e9seau urbain Hopl\u00e0",
      "needs_attention": true,
      "score": 65.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 55 day(s)",
      "days_until_expiry": 55,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80465",
      "name": "R\u00e9seau urbain Le Bus",
      "needs_attention": true,
      "score": 52.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83962",
      "name": "R\u00e9seau urbain Via Bastia",
      "needs_attention": true,
      "score": 48.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "sacramento-regional-transit-sacrt",
      "name": "Sacramento Regional Transit (SacRT)",
      "needs_attention": true,
      "score": 49.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -484,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sacramento-regional-transit-sacrt-2137",
      "name": "Sacramento Regional Transit (SacRT)",
      "needs_attention": true,
      "score": 39.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2008,
      "expiry_status": "stale",
      "grade": "F",
      "id": "saint-mary-s-transit-system",
      "name": "Saint Mary\u02bcs Transit System",
      "needs_attention": true,
      "score": 42.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "salisbury-reds",
      "name": "Salisbury Reds",
      "needs_attention": true,
      "score": 52.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "samtrans",
      "name": "SamTrans",
      "needs_attention": true,
      "score": 56.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -58,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "san-benito-county-express-sbce",
      "name": "San Benito County Express (SBCE)",
      "needs_attention": true,
      "score": 48.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "F",
      "id": "san-diego-international-airport-metropolitan-transit-system-mts",
      "name": "San Diego International Airport, Metropolitan Transit System (MTS)",
      "needs_attention": true,
      "score": 44.1,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -716,
      "expiry_status": "stale",
      "grade": "F",
      "id": "san-francisco-municipal-transportation-agency-sfmta-muni",
      "name": "San Francisco Municipal Transportation Agency (SFMTA - Muni)",
      "needs_attention": true,
      "score": 31.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 26 day(s)",
      "days_until_expiry": 26,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "san-francisco-municipal-transportation-agency-sfmta-muni-2886",
      "name": "San Francisco Municipal Transportation Agency (SFMTA - Muni)",
      "needs_attention": true,
      "score": 45.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 174,
      "expiry_status": "current",
      "grade": "C",
      "id": "san-joaquin-regional-transit-district-rtd",
      "name": "San Joaquin Regional Transit District (RTD)",
      "needs_attention": true,
      "score": 77.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1702,
      "expiry_status": "stale",
      "grade": "F",
      "id": "san-juan-capistrano-free-weekend-trolley",
      "name": "San Juan Capistrano Free Weekend Trolley",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "san-leandro-links",
      "name": "San Leandro Links",
      "needs_attention": true,
      "score": 44.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "san-mateo-county-transit-district-samtrans",
      "name": "San Mateo County Transit District (samTrans)",
      "needs_attention": true,
      "score": 59.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1220,
      "expiry_status": "stale",
      "grade": "F",
      "id": "san-miguel-authority-for-regional-transportation-smart",
      "name": "San Miguel Authority for Regional Transportation (SMART)",
      "needs_attention": true,
      "score": 48.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sandia-shuttle",
      "name": "Sandia Shuttle",
      "needs_attention": true,
      "score": 49.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "sandy-area-metro-sam-2739",
      "name": "Sandy Area Metro (SAM) Realtime Static",
      "needs_attention": true,
      "score": 66.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sanford-trolley",
      "name": "Sanford Trolley",
      "needs_attention": true,
      "score": 57.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 14 day(s)",
      "days_until_expiry": 14,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "santa-barbara-metropolitan-transit-district-mtd",
      "name": "Santa Barbara Metropolitan Transit District (MTD)",
      "needs_attention": true,
      "score": 73.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 7 day(s)",
      "days_until_expiry": 7,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "santa-clara-valley-transportation-authority-vta",
      "name": "Santa Clara Valley Transportation Authority (VTA)",
      "needs_attention": true,
      "score": 51.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -690,
      "expiry_status": "stale",
      "grade": "F",
      "id": "santa-cruz-metro-scmtd",
      "name": "Santa Cruz Metro (SCMTD)",
      "needs_attention": true,
      "score": 56.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 38 day(s)",
      "days_until_expiry": 38,
      "expiry_status": "current",
      "grade": "B",
      "id": "santa-cruz-metro-scmtd-2425",
      "name": "Santa Cruz Metro (SCMTD)",
      "needs_attention": true,
      "score": 83.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -125,
      "expiry_status": "lapsed",
      "grade": "D",
      "id": "santa-fe-trails",
      "name": "Santa Fe Trails",
      "needs_attention": true,
      "score": 64.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1736,
      "expiry_status": "stale",
      "grade": "F",
      "id": "santa-maria-area-transit",
      "name": "Santa Maria Area Transit",
      "needs_attention": true,
      "score": 33.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2320,
      "expiry_status": "stale",
      "grade": "F",
      "id": "santa-rosa-citybus",
      "name": "Santa Rosa CityBus",
      "needs_attention": true,
      "score": 36.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -882,
      "expiry_status": "stale",
      "grade": "F",
      "id": "santa-rosa-citybus-1986",
      "name": "Santa Rosa CityBus",
      "needs_attention": true,
      "score": 39.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1703,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sarasota-county-area-transit",
      "name": "Sarasota County Area Transit",
      "needs_attention": true,
      "score": 22.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "schuyler-county-transit",
      "name": "Schuyler County Transit",
      "needs_attention": true,
      "score": 45.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -762,
      "expiry_status": "stale",
      "grade": "F",
      "id": "seattle-children-s-hospital-shuttle",
      "name": "Seattle Children's Hospital Shuttle",
      "needs_attention": true,
      "score": 37.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -123,
      "expiry_status": "lapsed",
      "grade": "D",
      "id": "selah-transit",
      "name": "Selah Transit",
      "needs_attention": true,
      "score": 62.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1583,
      "expiry_status": "stale",
      "grade": "F",
      "id": "dc-circulator",
      "name": "Service Discontinued",
      "needs_attention": true,
      "score": 39.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "shore-line-east",
      "name": "Shore Line East",
      "needs_attention": true,
      "score": 47.9,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2405,
      "expiry_status": "stale",
      "grade": "F",
      "id": "shore-transit",
      "name": "Shore Transit",
      "needs_attention": true,
      "score": 42.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -72,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "shore-transit-3149",
      "name": "Shore Transit",
      "needs_attention": true,
      "score": 49.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1158,
      "expiry_status": "stale",
      "grade": "F",
      "id": "shuttle-oregon",
      "name": "Shuttle Oregon",
      "needs_attention": true,
      "score": 42.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sierra-madre-gateway-coach",
      "name": "Sierra Madre Gateway Coach",
      "needs_attention": true,
      "score": 48.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -579,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sierra-madre-gateway-coach-2251",
      "name": "Sierra Madre Gateway Coach",
      "needs_attention": true,
      "score": 54.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "silver-key-senior-services",
      "name": "Silver Key Senior Services Flex",
      "needs_attention": true,
      "score": 67.7,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1158,
      "expiry_status": "stale",
      "grade": "F",
      "id": "simi-valley-transit",
      "name": "Simi Valley Transit",
      "needs_attention": true,
      "score": 56.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -853,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sioux-area-metro-sam",
      "name": "Sioux Area Metro (SAM)",
      "needs_attention": true,
      "score": 50.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "sncf-transilien",
      "name": "SNCF Transilien",
      "needs_attention": true,
      "score": 44.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 49 day(s)",
      "days_until_expiry": 49,
      "expiry_status": "current",
      "grade": "C",
      "id": "snowmass-village-transportation",
      "name": "Snowmass Village Transportation",
      "needs_attention": true,
      "score": 70.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 14 day(s)",
      "days_until_expiry": 14,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "sts-sherbrooke",
      "name": "Soci\u00e9t\u00e9 de transport de Sherbrooke (STS)",
      "needs_attention": true,
      "score": 67.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sonoma-county-airport-express",
      "name": "Sonoma County Airport Express",
      "needs_attention": true,
      "score": 49.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 6 day(s)",
      "days_until_expiry": 6,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "sonoma-county-transit-sct",
      "name": "Sonoma County Transit (SCT)",
      "needs_attention": true,
      "score": 55.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 26 day(s)",
      "days_until_expiry": 26,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "sound-transit",
      "name": "Sound Transit",
      "needs_attention": true,
      "score": 73.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "south-clackamas-transportation-district",
      "name": "South Clackamas Transportation District",
      "needs_attention": true,
      "score": 62.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "south-county-transit-link",
      "name": "South County Transit Link",
      "needs_attention": true,
      "score": 30.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-08-02",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "south-florida-regional-transportation-authority-tri-rail",
      "name": "South Florida Regional Transportation Authority (Tri-Rail)",
      "needs_attention": true,
      "score": 56.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1066,
      "expiry_status": "stale",
      "grade": "F",
      "id": "south-lane-wheels",
      "name": "South Lane Wheels",
      "needs_attention": true,
      "score": 48.1,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1074,
      "expiry_status": "stale",
      "grade": "F",
      "id": "south-metro-area-regional-transit-smart",
      "name": "South Metro Area Regional Transit (SMART)",
      "needs_attention": true,
      "score": 30.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1585,
      "expiry_status": "stale",
      "grade": "F",
      "id": "south-portland",
      "name": "South Portland",
      "needs_attention": true,
      "score": 37.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -301,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "south-portland-2641",
      "name": "South Portland",
      "needs_attention": true,
      "score": 37.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from A to B",
      "days_until_expiry": 40,
      "expiry_status": "current",
      "grade": "B",
      "id": "grand-canyon-national-park",
      "name": "South Rim Shuttle",
      "needs_attention": true,
      "score": 89.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Remove past service periods the next time you export the feed.",
      "top_fix_code": "expired_calendar"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1162,
      "expiry_status": "stale",
      "grade": "F",
      "id": "southeast-area-transit-district",
      "name": "Southeast Area Transit District",
      "needs_attention": true,
      "score": 44.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 6 day(s)",
      "days_until_expiry": 6,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "southeastern-pennsylvania-transportation-authority-septa",
      "name": "Southeastern Pennsylvania Transportation Authority (SEPTA) Bus",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "southeastern-pennsylvania-transportation-authority-septa-503",
      "name": "Southeastern Pennsylvania Transportation Authority (SEPTA) Rail",
      "needs_attention": true,
      "score": 79.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-07-30",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "southeastern-regional-transit-authority-srta",
      "name": "Southeastern Regional Transit Authority (SRTA)",
      "needs_attention": true,
      "score": 72.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from C to D",
      "days_until_expiry": 55,
      "expiry_status": "current",
      "grade": "D",
      "id": "southern-vectis",
      "name": "Southern Vectis",
      "needs_attention": true,
      "score": 69.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1844,
      "expiry_status": "stale",
      "grade": "F",
      "id": "southwest-point",
      "name": "SouthWest POINT",
      "needs_attention": true,
      "score": 48.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -853,
      "expiry_status": "stale",
      "grade": "F",
      "id": "spirit-bus",
      "name": "Spirit Bus",
      "needs_attention": true,
      "score": 52.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "spirit-bus-2202",
      "name": "Spirit Bus",
      "needs_attention": true,
      "score": 66.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-07-30",
      "days_until_expiry": 167,
      "expiry_status": "current",
      "grade": "C",
      "id": "spokane-transit-authority-sta",
      "name": "Spokane Transit Authority (STA)",
      "needs_attention": true,
      "score": 73.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -57,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "springfield-mass-transit-district-smtd",
      "name": "Springfield Mass Transit District (SMTD)",
      "needs_attention": true,
      "score": 59.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "springfield-mass-transit-district-smtd-3187",
      "name": "Springfield Mass Transit District (SMTD)",
      "needs_attention": true,
      "score": 63.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "D",
      "id": "vtrans",
      "name": "Springfield MicroMoo",
      "needs_attention": true,
      "score": 62.8,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1006,
      "expiry_status": "stale",
      "grade": "F",
      "id": "squaxin-island-transit",
      "name": "Squaxin Island Transit",
      "needs_attention": true,
      "score": 53.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "squaxin-island-transit-2197",
      "name": "Squaxin Island Transit",
      "needs_attention": true,
      "score": 83.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -94,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "st-lawrence-county-public-transit",
      "name": "St Lawrence County Public Transit",
      "needs_attention": true,
      "score": 40.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "st-lawrence-county-public-transit-2611",
      "name": "St Lawrence County Public Transit",
      "needs_attention": true,
      "score": 55.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2008,
      "expiry_status": "stale",
      "grade": "F",
      "id": "st-mary-s-transit-system-sts",
      "name": "St. Mary's Transit System (STS)",
      "needs_attention": true,
      "score": 42.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2405,
      "expiry_status": "stale",
      "grade": "F",
      "id": "stagecoach-transportation-services-sts",
      "name": "Stagecoach Transportation Services (STS)",
      "needs_attention": true,
      "score": 21.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2040,
      "expiry_status": "stale",
      "grade": "F",
      "id": "stanislaus-regional-transit-start",
      "name": "Stanislaus Regional Transit (StaRT)",
      "needs_attention": true,
      "score": 47.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -62,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "stanislaus-regional-transit-authority",
      "name": "Stanislaus Regional Transit Authority",
      "needs_attention": true,
      "score": 44.4,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -884,
      "expiry_status": "stale",
      "grade": "F",
      "id": "stanislaus-regional-transit-authority-stanrta",
      "name": "Stanislaus Regional Transit Authority (StanRTA)",
      "needs_attention": true,
      "score": 42.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -995,
      "expiry_status": "stale",
      "grade": "F",
      "id": "stark-area-regional-transit-authority-sarta",
      "name": "Stark Area Regional Transit Authority (SARTA)",
      "needs_attention": true,
      "score": 29.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 6 day(s)",
      "days_until_expiry": 6,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "stark-area-regional-transit-authority-sarta-2001",
      "name": "Stark Area Regional Transit Authority (SARTA)",
      "needs_attention": true,
      "score": 39.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -700,
      "expiry_status": "stale",
      "grade": "F",
      "id": "starmetro",
      "name": "StarMetro",
      "needs_attention": true,
      "score": 56.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2040,
      "expiry_status": "stale",
      "grade": "F",
      "id": "startran",
      "name": "StarTran",
      "needs_attention": true,
      "score": 52.1,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "metropolitan-transit-authority-mta-514",
      "name": "Staten Island Bus",
      "needs_attention": true,
      "score": 60.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "stcp-porto",
      "name": "STCP (Sociedade de Transportes Colectivos do Porto)",
      "needs_attention": true,
      "score": 36.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "steel-valley-regional-transit-authority",
      "name": "Steel Valley Regional Transit Authority",
      "needs_attention": true,
      "score": 54.7,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Confirm your next service period is published: export its calendar and set feed_info feed_end_date past it.",
      "top_fix_code": "scorecard_planned_service_boundary"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2040,
      "expiry_status": "stale",
      "grade": "F",
      "id": "steuben-area-rides",
      "name": "Steuben Area Rides",
      "needs_attention": true,
      "score": 18.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "steuben-county-transit",
      "name": "Steuben County Transit",
      "needs_attention": true,
      "score": 26.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 35 day(s)",
      "days_until_expiry": 35,
      "expiry_status": "current",
      "grade": "C",
      "id": "suburban-mobility-authority-for-regional-transit-smart",
      "name": "Suburban Mobility Authority for Regional Transit (SMART)",
      "needs_attention": true,
      "score": 76.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "suffolk-county-transit",
      "name": "Suffolk County Transit",
      "needs_attention": true,
      "score": 32.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "sunline-transit-agency",
      "name": "SunLine Transit Agency",
      "needs_attention": true,
      "score": 20.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "sunset-empire-transportation-district-setd-tillamook-county-transportation-district-columbia-county-rider",
      "name": "Sunset Empire Transportation District (SETD), Tillamook County Transportation District, Columbia County Rider",
      "needs_attention": true,
      "score": 71.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1310,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sunshine-bus-company",
      "name": "Sunshine Bus Company",
      "needs_attention": true,
      "score": 41.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -442,
      "expiry_status": "stale",
      "grade": "F",
      "id": "suntran",
      "name": "SunTran",
      "needs_attention": true,
      "score": 47.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -78,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "suntran-2354",
      "name": "SunTran",
      "needs_attention": true,
      "score": 55.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -731,
      "expiry_status": "stale",
      "grade": "F",
      "id": "suntran-343",
      "name": "SunTran",
      "needs_attention": true,
      "score": 54.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "swindons-bus-company",
      "name": "Swindon's Bus Company",
      "needs_attention": true,
      "score": 50.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "B",
      "id": "sete-agglopole-mobilite",
      "name": "S\u00e8te Agglopole Mobilit\u00e9",
      "needs_attention": true,
      "score": 86.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 27 day(s)",
      "days_until_expiry": 27,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "tmm-moselle-madon",
      "name": "T'MM (Moselle et Madon)",
      "needs_attention": true,
      "score": 61.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "t2c-clermont",
      "name": "T2C (Clermont Auvergne M\u00e9tropole)",
      "needs_attention": true,
      "score": 52.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 56 day(s)",
      "days_until_expiry": 56,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-pan-83155",
      "name": "TAD ligne Arrens-Marsous - Lourdes",
      "needs_attention": true,
      "score": 88.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "taft-area-transit",
      "name": "Taft Area Transit",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "tajimi-city-kikyo-bus",
      "name": "Tajimi City Kikyo Bus (\u591a\u6cbb\u898b\u5e02\u304d\u304d\u3087\u3046\u30d0\u30b9)",
      "needs_attention": true,
      "score": 74.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 21 day(s)",
      "days_until_expiry": 21,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "taneo-nevers",
      "name": "Tan\u00e9o (Nevers)",
      "needs_attention": true,
      "score": 42.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -93,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "tehama-rural-area-express-trax-susanville-indian-rancheria-public-transportation-program",
      "name": "Tehama Rural Area Express (TRAX), Susanville Indian Rancheria Public Transportation Program",
      "needs_attention": true,
      "score": 52.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -397,
      "expiry_status": "stale",
      "grade": "F",
      "id": "terre-haute-transit-utility",
      "name": "Terre Haute Transit Utility",
      "needs_attention": true,
      "score": 52.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 43 day(s)",
      "days_until_expiry": 43,
      "expiry_status": "current",
      "grade": "F",
      "id": "tft-arezzo",
      "name": "TFT \u2014 Trasporto Ferroviario Toscano (Arezzo)",
      "needs_attention": true,
      "score": 53.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from C to D",
      "days_until_expiry": 365,
      "expiry_status": "current",
      "grade": "D",
      "id": "thames-valley-buses",
      "name": "Thames Valley Buses",
      "needs_attention": true,
      "score": 68.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1605,
      "expiry_status": "stale",
      "grade": "F",
      "id": "the-comet",
      "name": "The Comet",
      "needs_attention": true,
      "score": 36.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1712,
      "expiry_status": "stale",
      "grade": "F",
      "id": "the-current",
      "name": "The Current",
      "needs_attention": true,
      "score": 39.5,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2620,
      "expiry_status": "stale",
      "grade": "F",
      "id": "the-jo",
      "name": "The JO",
      "needs_attention": true,
      "score": 40.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2620,
      "expiry_status": "stale",
      "grade": "F",
      "id": "the-jule",
      "name": "The Jule",
      "needs_attention": true,
      "score": 41.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "the-rapid",
      "name": "The Rapid",
      "needs_attention": true,
      "score": 59.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "B",
      "id": "the-santa-cruzer",
      "name": "The Santa Cruzer",
      "needs_attention": true,
      "score": 82.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3077,
      "expiry_status": "stale",
      "grade": "F",
      "id": "the-victoria-clipper",
      "name": "The Victoria Clipper",
      "needs_attention": true,
      "score": 58.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -974,
      "expiry_status": "stale",
      "grade": "F",
      "id": "thebus",
      "name": "TheBus",
      "needs_attention": true,
      "score": 9.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "thebus-2350",
      "name": "TheBus",
      "needs_attention": true,
      "score": 30.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -119,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "thousand-oaks-transit-kanan-shuttle",
      "name": "Thousand Oaks Transit - Kanan Shuttle",
      "needs_attention": true,
      "score": 56.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1189,
      "expiry_status": "stale",
      "grade": "F",
      "id": "tideline-water-taxi",
      "name": "Tideline Water Taxi",
      "needs_attention": true,
      "score": 40.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 7 day(s)",
      "days_until_expiry": 7,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "tlp-tarbes-lourdes",
      "name": "TLP (Tarbes-Lourdes)",
      "needs_attention": true,
      "score": 38.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "tompkins-consolidated-area-transit-inc",
      "name": "Tompkins Consolidated Area Transit Inc",
      "needs_attention": true,
      "score": 67.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "tono-railway-ena-bus",
      "name": "Tono Railway Ena Bus (\u6771\u6fc3\u9244\u9053 \u6075\u90a3\u55b6\u696d\u6240)",
      "needs_attention": true,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "F",
      "id": "toronto-transit-commission",
      "name": "Toronto Transit Commission (TTC)",
      "needs_attention": true,
      "score": 57.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -932,
      "expiry_status": "stale",
      "grade": "F",
      "id": "torrance-transit",
      "name": "Torrance Transit",
      "needs_attention": true,
      "score": 54.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1218,
      "expiry_status": "stale",
      "grade": "F",
      "id": "town-of-mountain-village",
      "name": "Town of Mountain Village",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1220,
      "expiry_status": "stale",
      "grade": "F",
      "id": "town-of-telluride",
      "name": "Town of Telluride",
      "needs_attention": true,
      "score": 48.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "towson-loop",
      "name": "Towson Loop",
      "needs_attention": true,
      "score": 70.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "tram-barcelona-tbx",
      "name": "TRAM Barcelona (Trambaix)",
      "needs_attention": true,
      "score": 50.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "tram-barcelona-tbs",
      "name": "TRAM Barcelona (Trambes\u00f2s)",
      "needs_attention": true,
      "score": 52.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "transfort",
      "name": "Transfort Flex",
      "needs_attention": true,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -813,
      "expiry_status": "stale",
      "grade": "F",
      "id": "transfort-city-of-fort-collins-transfort",
      "name": "Transfort \u2013 City of Fort Collins (Transfort)",
      "needs_attention": true,
      "score": 39.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "transit-authority-of-northern-kentucky-tank",
      "name": "Transit Authority of Northern Kentucky (TANK)",
      "needs_attention": true,
      "score": 30.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -421,
      "expiry_status": "stale",
      "grade": "F",
      "id": "transit-authority-of-river-city-tarc",
      "name": "Transit Authority of River City (TARC)",
      "needs_attention": true,
      "score": 16.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -930,
      "expiry_status": "stale",
      "grade": "F",
      "id": "transit-orange-newburgh-local-transit",
      "name": "Transit Orange / Newburgh Local Transit",
      "needs_attention": true,
      "score": 55.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-bowen",
      "name": "TransLink Bowen",
      "needs_attention": true,
      "score": 73.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-bundaberg",
      "name": "TransLink Bundaberg (Duffy's Buses)",
      "needs_attention": true,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-bus-queensland-toowoomba",
      "name": "TransLink Bus Queensland Toowoomba",
      "needs_attention": true,
      "score": 73.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-gladstone",
      "name": "TransLink Gladstone (Buslink)",
      "needs_attention": true,
      "score": 73.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-gympie",
      "name": "TransLink Gympie (Polleys Coaches)",
      "needs_attention": true,
      "score": 72.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-innisfail",
      "name": "TransLink Innisfail",
      "needs_attention": true,
      "score": 75.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-kilcoy",
      "name": "TransLink Kilcoy (Christensens Bus and Coach)",
      "needs_attention": true,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-mackay",
      "name": "TransLink Mackay Transit Coaches",
      "needs_attention": true,
      "score": 73.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-magnetic-island",
      "name": "TransLink Magnetic Island",
      "needs_attention": true,
      "score": 76.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-maleny-landsborough",
      "name": "TransLink Maleny-Landsborough (Glass House Country Coaches)",
      "needs_attention": true,
      "score": 74.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-maryborough-hervey-bay",
      "name": "TransLink Maryborough-Hervey Bay",
      "needs_attention": true,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-north-stradbroke-island",
      "name": "TransLink North Stradbroke Island",
      "needs_attention": true,
      "score": 76.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "translink-rockhampton-yeppoon",
      "name": "TransLink Rockhampton-Yeppoon",
      "needs_attention": true,
      "score": 68.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "translink-south-east-queensland",
      "name": "TransLink South East Queensland",
      "needs_attention": true,
      "score": 60.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-sunbus-cairns",
      "name": "TransLink Sunbus Cairns",
      "needs_attention": true,
      "score": 71.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-sunbus-townsville",
      "name": "TransLink Sunbus Townsville",
      "needs_attention": true,
      "score": 73.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-warwick",
      "name": "TransLink Warwick (Haidleys Panoramic Coaches)",
      "needs_attention": true,
      "score": 75.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "translink-whitsundays",
      "name": "TransLink Whitsundays (Whitsunday Transit)",
      "needs_attention": true,
      "score": 76.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "tbm-bordeaux-metropole",
      "name": "Transports Bordeaux M\u00e9tropole (TBM)",
      "needs_attention": true,
      "score": 64.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "transurbain-evreux",
      "name": "Transurbain (\u00c9vreux)",
      "needs_attention": true,
      "score": 62.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "transvilles-valenciennes",
      "name": "Transvilles (Valenciennes)",
      "needs_attention": true,
      "score": 41.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 42 day(s)",
      "days_until_expiry": 42,
      "expiry_status": "current",
      "grade": "B",
      "id": "trentino-trasporti",
      "name": "Trentino Trasporti (urban networks)",
      "needs_attention": true,
      "score": 80.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "tri-delta-transit",
      "name": "Tri Delta Transit",
      "needs_attention": true,
      "score": 50.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 55 day(s)",
      "days_until_expiry": 55,
      "expiry_status": "current",
      "grade": "D",
      "id": "trinity-metro",
      "name": "Trinity Metro",
      "needs_attention": true,
      "score": 67.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -207,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "trinity-transit",
      "name": "Trinity Transit",
      "needs_attention": true,
      "score": 53.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -32,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "tsc-transit",
      "name": "TSC Transit Flex",
      "needs_attention": true,
      "score": 52.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "tsuruoka-city-bus",
      "name": "Tsuruoka City Bus (\u9db4\u5ca1\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": true,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "tuc-cambrai",
      "name": "TUC (Cambrai)",
      "needs_attention": true,
      "score": 28.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "tulare-county-area-transit-tcat",
      "name": "Tulare County Area Transit (TCAT)",
      "needs_attention": true,
      "score": 76.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "tuvisa-vitoria",
      "name": "TUVISA (Vitoria-Gasteiz)",
      "needs_attention": true,
      "score": 62.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -211,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "ucsc-transportation-and-parking-services",
      "name": "UCSC Transportation and Parking Services",
      "needs_attention": true,
      "score": 50.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1181,
      "expiry_status": "stale",
      "grade": "F",
      "id": "wave-transit-1862",
      "name": "UNCW Seahawk Shuttle",
      "needs_attention": true,
      "score": 50.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -451,
      "expiry_status": "stale",
      "grade": "F",
      "id": "wave-transit-2026",
      "name": "UNCW Seahawk Shuttle",
      "needs_attention": true,
      "score": 48.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 42 day(s)",
      "days_until_expiry": 42,
      "expiry_status": "current",
      "grade": "D",
      "id": "unibus-bournemouth",
      "name": "Unibus (Bournemouth)",
      "needs_attention": true,
      "score": 64.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 48 day(s)",
      "days_until_expiry": 48,
      "expiry_status": "current",
      "grade": "D",
      "id": "unilink-southampton",
      "name": "Unilink (Southampton)",
      "needs_attention": true,
      "score": 68.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1040,
      "expiry_status": "stale",
      "grade": "F",
      "id": "union-city-transit",
      "name": "Union City Transit",
      "needs_attention": true,
      "score": 51.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 51 day(s)",
      "days_until_expiry": 51,
      "expiry_status": "current",
      "grade": "C",
      "id": "unitrans",
      "name": "Unitrans (ASUCD / City of Davis)",
      "needs_attention": true,
      "score": 77.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "university-of-california-berkeley-shuttle-bear-transit",
      "name": "University of California Berkeley Shuttle (Bear Transit)",
      "needs_attention": true,
      "score": 47.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 18 day(s)",
      "days_until_expiry": 18,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "university-of-colorado-boulder",
      "name": "University of Colorado Boulder",
      "needs_attention": true,
      "score": 61.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 19 day(s)",
      "days_until_expiry": 19,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "university-of-iowa-cambus-cambus",
      "name": "University of Iowa - CAMBUS (CAMBUS)",
      "needs_attention": true,
      "score": 62.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1555,
      "expiry_status": "stale",
      "grade": "F",
      "id": "university-of-michigan-transit-services",
      "name": "University of Michigan Transit Services",
      "needs_attention": true,
      "score": 48.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 20 day(s)",
      "days_until_expiry": 20,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "university-of-michigan-transit-services-2072",
      "name": "University of Michigan Transit Services",
      "needs_attention": true,
      "score": 62.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -813,
      "expiry_status": "stale",
      "grade": "F",
      "id": "university-of-montana-udash",
      "name": "University of Montana (UDASH)",
      "needs_attention": true,
      "score": 53.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -841,
      "expiry_status": "stale",
      "grade": "F",
      "id": "uta",
      "name": "UTA",
      "needs_attention": true,
      "score": 19.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "uta-2349",
      "name": "UTA",
      "needs_attention": true,
      "score": 36.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 13 day(s)",
      "days_until_expiry": 13,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "utah-transit-authority-uta",
      "name": "Utah Transit Authority (UTA)",
      "needs_attention": true,
      "score": 36.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -427,
      "expiry_status": "stale",
      "grade": "F",
      "id": "utrans",
      "name": "UTrans",
      "needs_attention": true,
      "score": 48.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3866,
      "expiry_status": "stale",
      "grade": "F",
      "id": "valley-metro",
      "name": "Valley Metro",
      "needs_attention": true,
      "score": 46.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "valley-metro-2437",
      "name": "Valley Metro Flex",
      "needs_attention": true,
      "score": 64.8,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-08-02",
      "days_until_expiry": 311,
      "expiry_status": "current",
      "grade": "C",
      "id": "valley-regional-transit",
      "name": "Valley Regional Transit",
      "needs_attention": true,
      "score": 78.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3366,
      "expiry_status": "stale",
      "grade": "F",
      "id": "valley-retriever-busline",
      "name": "Valley Retriever Busline",
      "needs_attention": true,
      "score": 44.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -945,
      "expiry_status": "stale",
      "grade": "F",
      "id": "valley-transit-wi",
      "name": "Valley Transit (WI)",
      "needs_attention": true,
      "score": 47.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -352,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "ventura-county-transportation-commission",
      "name": "Ventura County Transportation Commission",
      "needs_attention": true,
      "score": 45.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3500,
      "expiry_status": "stale",
      "grade": "F",
      "id": "verde-lynx",
      "name": "Verde Lynx",
      "needs_attention": true,
      "score": 51.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -819,
      "expiry_status": "stale",
      "grade": "F",
      "id": "via-metropolitan-transit-via",
      "name": "VIA Metropolitan Transit (VIA)",
      "needs_attention": true,
      "score": 12.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 21 day(s)",
      "days_until_expiry": 21,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "via-metropolitan-transit-via-2348",
      "name": "VIA Metropolitan Transit (VIA)",
      "needs_attention": true,
      "score": 39.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -519,
      "expiry_status": "stale",
      "grade": "F",
      "id": "via-mobility",
      "name": "Via Mobility",
      "needs_attention": true,
      "score": 50.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "via-mobility-2395",
      "name": "Via Mobility",
      "needs_attention": true,
      "score": 66.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'empty_file' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "empty_file"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -491,
      "expiry_status": "stale",
      "grade": "F",
      "id": "victor-valley-transit-authority-vvta",
      "name": "Victor Valley Transit Authority (VVTA)",
      "needs_attention": true,
      "score": 43.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1789,
      "expiry_status": "stale",
      "grade": "F",
      "id": "village-of-cooperstown-trolly-system",
      "name": "Village of Cooperstown Trolly System",
      "needs_attention": true,
      "score": 44.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1493,
      "expiry_status": "stale",
      "grade": "F",
      "id": "virginia-breeze",
      "name": "Virginia Breeze",
      "needs_attention": true,
      "score": 40.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -611,
      "expiry_status": "stale",
      "grade": "F",
      "id": "virginia-railway-express-vre",
      "name": "Virginia Railway Express (VRE)",
      "needs_attention": true,
      "score": 28.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "virginia-regional-transit",
      "name": "Virginia Regional Transit",
      "needs_attention": true,
      "score": 70.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "virginia-regional-transit-2445",
      "name": "Virginia Regional Transit Flex",
      "needs_attention": true,
      "score": 66.0,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1660,
      "expiry_status": "stale",
      "grade": "F",
      "id": "votran",
      "name": "Votran",
      "needs_attention": true,
      "score": 42.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1005,
      "expiry_status": "stale",
      "grade": "F",
      "id": "wahkiakum-ferry",
      "name": "Wahkiakum Ferry",
      "needs_attention": true,
      "score": 48.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 28 day(s)",
      "days_until_expiry": 28,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "warringtons-own-buses",
      "name": "Warrington's Own Buses",
      "needs_attention": true,
      "score": 41.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1767,
      "expiry_status": "stale",
      "grade": "F",
      "id": "washington-county-transit",
      "name": "Washington County Transit",
      "needs_attention": true,
      "score": 32.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Score changed sharply on 2026-08-02",
      "days_until_expiry": 41,
      "expiry_status": "current",
      "grade": "C",
      "id": "washington-metropolitan-area-transit-authority-wmata",
      "name": "Washington Metropolitan Area Transit Authority (WMATA) Bus",
      "needs_attention": true,
      "score": 70.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 5 day(s)",
      "days_until_expiry": 5,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "washington-metropolitan-area-transit-authority-wmata-1847",
      "name": "Washington Metropolitan Area Transit Authority (WMATA) Rail",
      "needs_attention": true,
      "score": 40.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 49 day(s)",
      "days_until_expiry": 49,
      "expiry_status": "current",
      "grade": "D",
      "id": "washington-state-ferries",
      "name": "Washington State Ferries",
      "needs_attention": true,
      "score": 64.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 35 day(s)",
      "days_until_expiry": 35,
      "expiry_status": "current",
      "grade": "F",
      "id": "washington-state-ferries-1331",
      "name": "Washington State Ferries",
      "needs_attention": true,
      "score": 46.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2270,
      "expiry_status": "stale",
      "grade": "F",
      "id": "water-avenue-shuttle",
      "name": "Water Avenue Shuttle",
      "needs_attention": true,
      "score": 41.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "watertown-citibus",
      "name": "Watertown Citibus",
      "needs_attention": true,
      "score": 47.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "watertown-citibus-2881",
      "name": "Watertown Citibus",
      "needs_attention": true,
      "score": 63.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -427,
      "expiry_status": "stale",
      "grade": "F",
      "id": "waukesha-metro-transit",
      "name": "Waukesha Metro Transit",
      "needs_attention": true,
      "score": 51.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1675,
      "expiry_status": "stale",
      "grade": "F",
      "id": "west-berkeley-shuttle",
      "name": "West Berkeley Shuttle",
      "needs_attention": true,
      "score": 47.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "D",
      "id": "westcat",
      "name": "WestCAT",
      "needs_attention": true,
      "score": 66.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -336,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "westchester-county-bee-line-system-wcdot-2353",
      "name": "Westchester County Bee-Line System (WCDOT)",
      "needs_attention": true,
      "score": 30.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2066,
      "expiry_status": "stale",
      "grade": "F",
      "id": "western-reserve-transit-authority",
      "name": "Western Reserve Transit Authority",
      "needs_attention": true,
      "score": 17.0,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 48 day(s)",
      "days_until_expiry": 48,
      "expiry_status": "current",
      "grade": "B",
      "id": "whatcom-transportation-authority",
      "name": "Whatcom Transportation Authority",
      "needs_attention": true,
      "score": 89.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the flagged fields and fill in the ones your riders would use.",
      "top_fix_code": "missing_recommended_field"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1080,
      "expiry_status": "stale",
      "grade": "F",
      "id": "wichita-transit",
      "name": "Wichita Transit",
      "needs_attention": true,
      "score": 11.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1129,
      "expiry_status": "stale",
      "grade": "F",
      "id": "williamsburg-area-transit-authority",
      "name": "Williamsburg Area Transit Authority",
      "needs_attention": true,
      "score": 43.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "williamsburg-area-transit-authority-2649",
      "name": "Williamsburg Area Transit Authority",
      "needs_attention": true,
      "score": 56.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1129,
      "expiry_status": "stale",
      "grade": "F",
      "id": "williamsburg-area-transit-authority-wata",
      "name": "Williamsburg Area Transit Authority (WATA)",
      "needs_attention": true,
      "score": 35.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "C",
      "id": "woodburn-transit-service-wts",
      "name": "Woodburn Transit Service (WTS)",
      "needs_attention": true,
      "score": 74.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 9 day(s)",
      "days_until_expiry": 9,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "worcester-regional-transit-authority-wrta",
      "name": "Worcester Regional Transit Authority (WRTA)",
      "needs_attention": true,
      "score": 44.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1129,
      "expiry_status": "stale",
      "grade": "F",
      "id": "xpress",
      "name": "Xpress",
      "needs_attention": true,
      "score": 56.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "yamako-bus",
      "name": "Yamako Bus (\u5c71\u4ea4\u30d0\u30b9)",
      "needs_attention": true,
      "score": 68.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "B",
      "id": "yankee-line",
      "name": "Yankee Line",
      "needs_attention": true,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -214,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "yates-transit-service",
      "name": "Yates Transit Service",
      "needs_attention": true,
      "score": 35.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -182,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "yolo-county-transportation-district-yolobus",
      "name": "Yolo County Transportation District (Yolobus)",
      "needs_attention": true,
      "score": 55.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 36 day(s)",
      "days_until_expiry": 36,
      "expiry_status": "current",
      "grade": "C",
      "id": "yolobus",
      "name": "Yolobus (Yolo County Transportation District)",
      "needs_attention": true,
      "score": 76.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "D",
      "id": "yole-challans",
      "name": "Yol\u00e9 (Challans)",
      "needs_attention": true,
      "score": 63.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'missing_required_file' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "missing_required_file"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 34 day(s)",
      "days_until_expiry": 34,
      "expiry_status": "current",
      "grade": "D",
      "id": "york-region-transit",
      "name": "York Region Transit (YRT)",
      "needs_attention": true,
      "score": 67.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').",
      "top_fix_code": "mixed_case_recommended_field"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -306,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "yosemite-area-regional-transportation-system-yarts",
      "name": "Yosemite Area Regional Transportation System (YARTS)",
      "needs_attention": true,
      "score": 53.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change.",
      "top_fix_code": "scorecard_feed_expired"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -73,
      "expiry_status": "lapsed",
      "grade": "D",
      "id": "yosemite-area-regional-transportation-system-yarts-2394",
      "name": "Yosemite Area Regional Transportation System (YARTS)",
      "needs_attention": true,
      "score": 60.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Confirm your next service period is published: export its calendar and set feed_info feed_end_date past it.",
      "top_fix_code": "scorecard_planned_service_boundary"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service window shortened unexpectedly on 2026-07-30",
      "days_until_expiry": 35,
      "expiry_status": "current",
      "grade": "F",
      "id": "zet-zagreb",
      "name": "Zagreba\u010dki elektri\u010dni tramvaj (ZET)",
      "needs_attention": true,
      "score": 58.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 14 day(s)",
      "days_until_expiry": 14,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "ztm-gdansk",
      "name": "Zarz\u0105d Transportu Miejskiego w Gda\u0144sku",
      "needs_attention": true,
      "score": 48.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 5 day(s)",
      "days_until_expiry": 5,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "ztm-poznan",
      "name": "Zarz\u0105d Transportu Miejskiego w Poznaniu",
      "needs_attention": true,
      "score": 37.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out.",
      "top_fix_code": "scorecard_feed_expiring_soon"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 58 day(s)",
      "days_until_expiry": 58,
      "expiry_status": "current",
      "grade": "C",
      "id": "kushimoto-bus-kushimotokankoshuyu-wakayama-jp",
      "name": "\u304f\u3057\u3082\u3068\u89b3\u5149\u5468\u904a\u30d0\u30b9\u3000\u307e\u3050\u30c8\u30eb\u53f7 (\u304f\u3057\u3082\u3068\u89b3\u5149\u5468\u904a\u30d0\u30b9\u63a8\u9032\u5354\u8b70\u4f1a\uff08\u4e8b\u52d9\u5c40\uff1a\u548c\u6b4c\u5c71\u770c\u7acb\u5357\u7d00\u718a\u91ce\u30b8\u30aa\u30d1\u30fc\u30af\u30bb\u30f3\u30bf\u30fc\uff09\uff09)",
      "needs_attention": true,
      "score": 75.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "hekinancity-kurukuru-bus",
      "name": "\u304f\u308b\u304f\u308b\u30d0\u30b9 (\u78a7\u5357\u5e02)",
      "needs_attention": true,
      "score": 75.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "inagawatown-fureaibus",
      "name": "\u3075\u308c\u3042\u3044\u30d0\u30b9 (\u732a\u540d\u5ddd\u753a)",
      "needs_attention": true,
      "score": 78.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "F",
      "id": "namerikawacity-norumycar",
      "name": "\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u306e\u308bmycar\u300d (\u6ed1\u5ddd\u5e02)",
      "needs_attention": true,
      "score": 58.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "kaminoyamacity-kaminoyamacity",
      "name": "\u4e0a\u5c71\u5e02\u55b6\u30d0\u30b9",
      "needs_attention": true,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "minamiisetown-choeibus",
      "name": "\u5357\u4f0a\u52e2\u753a\u55b6\u30d0\u30b9",
      "needs_attention": true,
      "score": 74.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "tosashimizucity-gtfs-tosashimizucity-bus",
      "name": "\u571f\u4f50\u6e05\u6c34\u5e02\u30c7\u30de\u30f3\u30c9\u4ea4\u901a\u300c\u304a\u3067\u304b\u3051\u53f7\u300d",
      "needs_attention": true,
      "score": 77.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "ohkuravillage-ohkuravillage",
      "name": "\u5927\u8535\u6751\u55b6\u30d0\u30b9",
      "needs_attention": true,
      "score": 73.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "yasudatown-gtfs-yasudatown-bus",
      "name": "\u5b89\u7530\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3084\u3059\u3089\u53f7\u300d",
      "needs_attention": true,
      "score": 77.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "murotocity-gtfs-murotocity-bus",
      "name": "\u5ba4\u6238\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3080\u308d\u306f\u3074\u53f7\u300d",
      "needs_attention": true,
      "score": 77.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "obanazawacity-obanazawacity",
      "name": "\u5c3e\u82b1\u6ca2\u5e02\u55b6\u30d0\u30b9",
      "needs_attention": true,
      "score": 71.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "motoyamatown-gtfs-motoyamatown-bus",
      "name": "\u672c\u5c71\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3055\u304f\u3089\u30d0\u30b9\u300d",
      "needs_attention": true,
      "score": 77.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 60 day(s)",
      "days_until_expiry": 60,
      "expiry_status": "current",
      "grade": "C",
      "id": "tanotown-gtfs-tanotown-bus",
      "name": "\u7530\u91ce\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30fc\u30d0\u30b9\u300c\u305f\u306e\u304f\u308b\u30d0\u30b9\u300d",
      "needs_attention": true,
      "score": 79.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "kasamatsutown-communitybus",
      "name": "\u7b20\u677e\u753a\u516c\u5171\u65bd\u8a2d\u5de1\u56de\u753a\u6c11\u30d0\u30b9",
      "needs_attention": true,
      "score": 75.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "minokamocity-communitybus",
      "name": "\u7f8e\u6fc3\u52a0\u8302\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3042\u3044\u611b\u30d0\u30b9\u300d",
      "needs_attention": true,
      "score": 71.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_phone_number' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_phone_number"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "nagaicity-nagaicity",
      "name": "\u9577\u4e95\u5e02\u55b6\u30d0\u30b9",
      "needs_attention": true,
      "score": 74.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 59 day(s)",
      "days_until_expiry": 59,
      "expiry_status": "current",
      "grade": "C",
      "id": "hidacity-communitybus",
      "name": "\u98db\u9a28\u5e02\u55b6\u30d0\u30b9\u300c\u3072\u3060\u307e\u308b\u300d",
      "needs_attention": true,
      "score": 74.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "north-lake-tahoe-express",
      "name": "24 hour advance reservations required",
      "needs_attention": false,
      "score": 81.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "avv-aachen",
      "name": "Aachener Verkehrsverbund (AVV)",
      "needs_attention": false,
      "score": 47.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "adams-county",
      "name": "Adams County Flex",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 70,
      "expiry_status": "current",
      "grade": "D",
      "id": "adelaide-metro",
      "name": "Adelaide Metro",
      "needs_attention": false,
      "score": 68.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "F",
      "id": "adirondack-trailways-adp",
      "name": "Adirondack Trailways ADP",
      "needs_attention": false,
      "score": 45.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "F",
      "id": "adirondack-trailways-nyp",
      "name": "Adirondack Trailways NYP",
      "needs_attention": false,
      "score": 42.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "advance-transit",
      "name": "Advance Transit",
      "needs_attention": false,
      "score": 74.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 138,
      "expiry_status": "current",
      "grade": "D",
      "id": "agder-kollektivtrafikk",
      "name": "Agder Kollektivtrafikk",
      "needs_attention": false,
      "score": 61.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "B",
      "id": "aircoach",
      "name": "Aircoach",
      "needs_attention": false,
      "score": 82.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "akashi-city-tako-bus",
      "name": "Akashi City Tako Bus (\u660e\u77f3\u5e02\u305f\u3053\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "akechi-railway",
      "name": "Akechi Railway (\u660e\u77e5\u9244\u9053)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "aki-city-genki-bus",
      "name": "Aki City Genki Bus (\u5b89\u82b8\u5e02\u300c\u5143\u6c17\u30d0\u30b9\u300d)",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 10546,
      "expiry_status": "current",
      "grade": "D",
      "id": "akmene-public-transport",
      "name": "Akmen\u0117 public transport",
      "needs_attention": false,
      "score": 60.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "A",
      "id": "golden-gate-national-recreation-area-alcatraz-island",
      "name": "Alcatraz Cruises Ferry",
      "needs_attention": false,
      "score": 92.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "all-points-transit",
      "name": "All Points Transit",
      "needs_attention": false,
      "score": 79.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "all-points-transit-2039",
      "name": "All Points Transit Flex",
      "needs_attention": false,
      "score": 77.8,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "allen-county-regional-transit-authority",
      "name": "Allen County Regional Transit Authority",
      "needs_attention": false,
      "score": 79.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 333,
      "expiry_status": "current",
      "grade": "C",
      "id": "alytus-city-public-transport",
      "name": "Alytus city public transport",
      "needs_attention": false,
      "score": 72.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 333,
      "expiry_status": "current",
      "grade": "D",
      "id": "alytus-district-public-transport",
      "name": "Alytus district public transport",
      "needs_attention": false,
      "score": 64.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "F",
      "id": "aleop-pays-de-la-loire",
      "name": "Al\u00e9op (Pays de la Loire)",
      "needs_attention": false,
      "score": 58.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'missing_bike_allowance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "missing_bike_allowance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "aleop-yeu-continent",
      "name": "Al\u00e9op Yeu-Continent (\u00cele d'Yeu ferry)",
      "needs_attention": false,
      "score": 83.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "amagi-kanko-bus",
      "name": "Amagi Kanko Bus (\u7518\u6728\u89b3\u5149\u30d0\u30b9)",
      "needs_attention": false,
      "score": 87.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 82,
      "expiry_status": "current",
      "grade": "C",
      "id": "ametis-amiens",
      "name": "Ametis (Amiens M\u00e9tropole)",
      "needs_attention": false,
      "score": 79.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "B",
      "id": "amtrak-vermonter",
      "name": "Amtrak Vermonter",
      "needs_attention": false,
      "score": 80.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "anaheim-resort-transportation-art",
      "name": "Anaheim Resort Transportation (ART)",
      "needs_attention": false,
      "score": 42.6,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "C",
      "id": "anchorage-people-mover",
      "name": "Anchorage People Mover",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the vehicle positions endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_vehicle_positions_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "C",
      "id": "anjo-ankuru-bus",
      "name": "Anjo City Ankuru Bus (\u5b89\u57ce\u5e02\u3042\u3093\u304f\u308b\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "annaka-city-an-bus",
      "name": "Annaka City An-Bus (\u5b89\u4e2d\u5e02\u8def\u7dda\u30d0\u30b9\u300c\u3042\u3093\u30d0\u30b9\u300d)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1247,
      "expiry_status": "current",
      "grade": "D",
      "id": "anyksciai-public-transport",
      "name": "Anyk\u0161\u010diai public transport",
      "needs_attention": false,
      "score": 63.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "aoi-kotsu",
      "name": "Aoi Kotsu (\u3042\u304a\u3044\u4ea4\u901a)",
      "needs_attention": false,
      "score": 80.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 210,
      "expiry_status": "current",
      "grade": "B",
      "id": "arakawa-sakura-bus",
      "name": "Arakawa City Community Bus Sakura (\u8352\u5ddd\u533a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u3055\u304f\u3089)",
      "needs_attention": false,
      "score": 80.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "aridagawa-town-community-bus",
      "name": "Aridagawa Town Community Bus (\u6709\u7530\u5ddd\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 72.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "C",
      "id": "arlington-transit",
      "name": "Arlington Transit",
      "needs_attention": false,
      "score": 73.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "arst-sardegna",
      "name": "ARST (Trasporti Regionali della Sardegna)",
      "needs_attention": false,
      "score": 30.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 637,
      "expiry_status": "current",
      "grade": "B",
      "id": "artesia-transit",
      "name": "Artesia Transit",
      "needs_attention": false,
      "score": 82.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 312,
      "expiry_status": "current",
      "grade": "C",
      "id": "asa-coast-railway",
      "name": "Asa Coast Railway DMV (\u963f\u4f50\u6d77\u5cb8\u9244\u9053)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "asahi-town-bus",
      "name": "Asahi Town Bus (\u3042\u3055\u3072\u307e\u3061\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "F",
      "id": "asara-sardegna",
      "name": "ASARA contributed lines (Sardegna)",
      "needs_attention": false,
      "score": 40.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "asheville-rides-transit",
      "name": "Asheville Rides Transit",
      "needs_attention": false,
      "score": 68.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the service alerts endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_service_alerts_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 363,
      "expiry_status": "current",
      "grade": "D",
      "id": "ashikaga-city-route-bus",
      "name": "Ashikaga City Route Bus (\u8db3\u5229\u5e02\u8def\u7dda\u30d0\u30b9)",
      "needs_attention": false,
      "score": 67.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "fukuoka-ashiya-town-bus",
      "name": "Ashiya Town Bus (\u82a6\u5c4b\u30bf\u30a6\u30f3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "astoria-riverfront-trolley",
      "name": "Astoria Riverfront Trolley",
      "needs_attention": false,
      "score": 84.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 146,
      "expiry_status": "current",
      "grade": "F",
      "id": "atb-trondelag",
      "name": "AtB",
      "needs_attention": false,
      "score": 55.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "atm-messina",
      "name": "ATM Messina",
      "needs_attention": false,
      "score": 55.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "atomic-city-transit",
      "name": "Atomic City Transit",
      "needs_attention": false,
      "score": 82.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "D",
      "id": "auburn-transit-2275",
      "name": "Auburn Transit",
      "needs_attention": false,
      "score": 63.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'missing_required_field' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "missing_required_field"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 112,
      "expiry_status": "current",
      "grade": "F",
      "id": "auckland-transport",
      "name": "Auckland Transport",
      "needs_attention": false,
      "score": 51.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "gencat-interurban-bus",
      "name": "Autobusos interurbans de la Generalitat de Catalunya",
      "needs_attention": false,
      "score": 42.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "puerto-rico-ati",
      "name": "Autoridad de Transporte Integrado de Puerto Rico (ATI)",
      "needs_attention": false,
      "score": 91.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "atd-latvia-national",
      "name": "Autotransporta direkcija (ATD) national routes",
      "needs_attention": false,
      "score": 24.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "expiry_status": "current",
      "grade": "B",
      "id": "avon-transit-2433",
      "name": "Avon Transit",
      "needs_attention": false,
      "score": 88.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "awaji-jenova-line",
      "name": "Awaji Jenova Line, Akashi\u2013Iwaya (\u6de1\u8def\u30b8\u30a7\u30ce\u30d0\u30e9\u30a4\u30f3\u660e\u77f3\u5ca9\u5c4b\u822a\u8def)",
      "needs_attention": false,
      "score": 80.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "atp-nuoro",
      "name": "Azienda Trasporti Pubblici di Nuoro (ATP Nuoro)",
      "needs_attention": false,
      "score": 55.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "baca-area-transportation",
      "name": "Baca Area Transportation",
      "needs_attention": false,
      "score": 73.8,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-bacs-de-loire-en-loire-atlantique-44",
      "name": "Bacs de Loire en Loire-Atlantique (44)",
      "needs_attention": false,
      "score": 80.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 73,
      "expiry_status": "current",
      "grade": "B",
      "id": "bandelier-national-monument-shuttle",
      "name": "Bandelier National Monument Shuttle",
      "needs_attention": false,
      "score": 81.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "C",
      "id": "barrie-transit",
      "name": "Barrie Transit (Ontario)",
      "needs_attention": false,
      "score": 72.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "basmy-alor-setar",
      "name": "BAS.MY Alor Setar",
      "needs_attention": false,
      "score": 63.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "F",
      "id": "basmy-johor-bahru",
      "name": "BAS.MY Johor Bahru",
      "needs_attention": false,
      "score": 55.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "basmy-kangar",
      "name": "BAS.MY Kangar",
      "needs_attention": false,
      "score": 67.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "basmy-kota-bharu",
      "name": "BAS.MY Kota Bharu",
      "needs_attention": false,
      "score": 66.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "basmy-kuala-terengganu",
      "name": "BAS.MY Kuala Terengganu",
      "needs_attention": false,
      "score": 63.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "basmy-kuching",
      "name": "BAS.MY Kuching",
      "needs_attention": false,
      "score": 63.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "D",
      "id": "basmy-melaka",
      "name": "BAS.MY Melaka",
      "needs_attention": false,
      "score": 63.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "bay-area-transportation-authority-2254",
      "name": "Bay Area Transportation Authority",
      "needs_attention": false,
      "score": 56.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 105,
      "expiry_status": "current",
      "grade": "B",
      "id": "bay-state-cruise-company",
      "name": "Bay State Cruise Company",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "bay-transit",
      "name": "Bay Transit",
      "needs_attention": false,
      "score": 78.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "bay-transit-2439",
      "name": "Bay Transit Flex",
      "needs_attention": false,
      "score": 76.9,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 178,
      "expiry_status": "current",
      "grade": "C",
      "id": "baybus-bay-of-plenty",
      "name": "Baybus (Bay of Plenty)",
      "needs_attention": false,
      "score": 72.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-100-mile-house",
      "name": "BC Transit (100 Mile House Transit System)",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-ashcroft-cache-creek-clinton",
      "name": "BC Transit (Ashcroft-Cache Creek-Clinton Transit System)",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 399,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-campbell-river",
      "name": "BC Transit (Campbell River Transit System)",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-clearwater",
      "name": "BC Transit (Clearwater Transit System)",
      "needs_attention": false,
      "score": 72.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-columbia-valley",
      "name": "BC Transit (Columbia Valley, Cranbrook, Elk Valley, and Kimberley)",
      "needs_attention": false,
      "score": 71.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-comox-valley",
      "name": "BC Transit (Comox Valley Transit System)",
      "needs_attention": false,
      "score": 70.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-cowichan-valley",
      "name": "BC Transit (Cowichan Valley Regional Transit System)",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-creston-valley",
      "name": "BC Transit (Creston Valley Transit System)",
      "needs_attention": false,
      "score": 72.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-dawson-creek",
      "name": "BC Transit (Dawson Creek Transit System)",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-fort-st-john",
      "name": "BC Transit (Fort St. John Transit System)",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 329,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-hazelton-kitimat-terrace",
      "name": "BC Transit (Hazelton, Kitimat, and Terrace)",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-merritt",
      "name": "BC Transit (Merritt Transit System)",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-mount-waddington",
      "name": "BC Transit (Mount Waddington Transit System)",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 114,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-pemberton-valley",
      "name": "BC Transit (Pemberton Valley Transit System)",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 153,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-port-alberni",
      "name": "BC Transit (Port Alberni Regional Transit System)",
      "needs_attention": false,
      "score": 72.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 328,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-port-edward-prince-rupert",
      "name": "BC Transit (Port Edward and Prince Rupert Transit Systems)",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-quesnel",
      "name": "BC Transit (Quesnel Transit System)",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 117,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-revelstoke",
      "name": "BC Transit (Revelstoke Transit System)",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "bc-transit-shuswap-vernon",
      "name": "BC Transit (Shuswap and Vernon Regional Transit Systems)",
      "needs_attention": false,
      "score": 69.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-smithers",
      "name": "BC Transit (Smithers Transit System)",
      "needs_attention": false,
      "score": 77.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 400,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-south-okanagan-similkameen",
      "name": "BC Transit (South Okanagan-Similkameen Transit System)",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 316,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-squamish",
      "name": "BC Transit (Squamish Transit System)",
      "needs_attention": false,
      "score": 71.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "bc-transit-victoria",
      "name": "BC Transit (Victoria Regional Transit System)",
      "needs_attention": false,
      "score": 67.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 153,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-west-coast",
      "name": "BC Transit (West Coast Transit System)",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "bc-transit-west-kootenay",
      "name": "BC Transit (West Kootenay Transit System)",
      "needs_attention": false,
      "score": 68.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 112,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-whistler",
      "name": "BC Transit (Whistler Transit System)",
      "needs_attention": false,
      "score": 71.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "bc-transit-williams-lake",
      "name": "BC Transit (Williams Lake Transit System)",
      "needs_attention": false,
      "score": 72.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "D",
      "id": "beach-cities-transit-1999",
      "name": "Beach Cities Transit",
      "needs_attention": false,
      "score": 68.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "beaumont-transit",
      "name": "Beaumont Transit",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "beaver-county-transit-authority-2262",
      "name": "Beaver County Transit Authority",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "belgrade-public-transport",
      "name": "Belgrade Public Transport",
      "needs_attention": false,
      "score": 80.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "belgrade-suburban-transport",
      "name": "Belgrade Suburban Public Transport",
      "needs_attention": false,
      "score": 76.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "beloit-transit",
      "name": "Beloit Transit",
      "needs_attention": false,
      "score": 37.8,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-25",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "bent-county-transportation",
      "name": "Bent County Transportation Flex",
      "needs_attention": false,
      "score": 79.1,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "berks-area-regional-transportation-authority-barta-2064",
      "name": "Berks Area Regional Transportation Authority (BARTA)",
      "needs_attention": false,
      "score": 63.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "B",
      "id": "bernard-kavanagh",
      "name": "Bernard Kavanagh & Sons",
      "needs_attention": false,
      "score": 80.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "biddeford-saco-old-orchard-beach-transit",
      "name": "Biddeford Saco Old Orchard Beach Transit",
      "needs_attention": false,
      "score": 79.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "big-blue-bus",
      "name": "Big Blue Bus",
      "needs_attention": false,
      "score": 52.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor why the feed stopped advancing; the GTFS-Realtime header timestamp should move forward on every publish.",
      "top_fix_code": "scorecard_rt_feed_lapsed"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 194,
      "expiry_status": "current",
      "grade": "F",
      "id": "birnie-bus",
      "name": "Birnie Bus",
      "needs_attention": false,
      "score": 58.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8917,
      "expiry_status": "current",
      "grade": "C",
      "id": "birstonas-public-transport",
      "name": "Bir\u0161tonas public transport",
      "needs_attention": false,
      "score": 70.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 2343,
      "expiry_status": "current",
      "grade": "D",
      "id": "birzai-public-transport",
      "name": "Bir\u017eai public transport",
      "needs_attention": false,
      "score": 63.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 526,
      "expiry_status": "current",
      "grade": "A",
      "id": "bisbee-bus",
      "name": "Bisbee Bus",
      "needs_attention": false,
      "score": 99.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "A",
      "id": "black-ball-ferry-line",
      "name": "Black Ball Ferry Line",
      "needs_attention": false,
      "score": 98.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Remove past service periods the next time you export the feed.",
      "top_fix_code": "expired_calendar"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "blackhawk-and-central-city-tramway",
      "name": "Blackhawk and Central City Tramway",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "blackhawk-and-central-city-tramway-2041",
      "name": "Blackhawk and Central City Tramway Flex",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 211,
      "expiry_status": "current",
      "grade": "C",
      "id": "blackstone-area-bus-service",
      "name": "Blackstone Area Bus Service",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 320,
      "expiry_status": "current",
      "grade": "F",
      "id": "blaguss-szombathely",
      "name": "Blaguss Agora Hungary (Szombathely)",
      "needs_attention": false,
      "score": 51.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 71,
      "expiry_status": "current",
      "grade": "C",
      "id": "block-island-ferry",
      "name": "Block Island Ferry",
      "needs_attention": false,
      "score": 77.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 362,
      "expiry_status": "current",
      "grade": "C",
      "id": "bloomington-transit-2066",
      "name": "Bloomington Transit",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 184,
      "expiry_status": "current",
      "grade": "B",
      "id": "blossom-express",
      "name": "Blossom Express",
      "needs_attention": false,
      "score": 86.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "blue-apple-bus-company",
      "name": "Blue Apple Bus Company",
      "needs_attention": false,
      "score": 77.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "blue-grass-community-action-partnership",
      "name": "Bluegrass Ultra-Transit Service",
      "needs_attention": false,
      "score": 79.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "bodo-verkehrsverbund",
      "name": "bodo Verkehrsverbund (Bodensee-Oberschwaben)",
      "needs_attention": false,
      "score": 43.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 504,
      "expiry_status": "current",
      "grade": "F",
      "id": "borders-buses",
      "name": "Borders Buses",
      "needs_attention": false,
      "score": 56.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 882,
      "expiry_status": "current",
      "grade": "C",
      "id": "boston-express",
      "name": "Boston Express",
      "needs_attention": false,
      "score": 73.4,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 72,
      "expiry_status": "current",
      "grade": "A",
      "id": "boston-harbor-islands-ferries-2073",
      "name": "Boston Harbor Islands Ferries",
      "needs_attention": false,
      "score": 95.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 71,
      "expiry_status": "current",
      "grade": "A",
      "id": "boston-harbor-islands-ferry",
      "name": "Boston Harbor Islands Ferry",
      "needs_attention": false,
      "score": 98.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Remove past service periods the next time you export the feed.",
      "top_fix_code": "expired_calendar"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 365,
      "expiry_status": "current",
      "grade": "C",
      "id": "boxcar",
      "name": "Boxcar Commuter Bus",
      "needs_attention": false,
      "score": 73.0,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 148,
      "expiry_status": "current",
      "grade": "D",
      "id": "brakar-buskerud",
      "name": "Brakar",
      "needs_attention": false,
      "score": 63.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "B",
      "id": "brightline-trains-llc",
      "name": "Brightline Trains LLC",
      "needs_attention": false,
      "score": 82.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_phone_number' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_phone_number"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 360,
      "expiry_status": "current",
      "grade": "F",
      "id": "brighton-hove-buses",
      "name": "Brighton & Hove Buses",
      "needs_attention": false,
      "score": 53.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "bristol-virginia-transit",
      "name": "Bristol Virginia Transit",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 366,
      "expiry_status": "current",
      "grade": "D",
      "id": "brittany-ferries",
      "name": "Brittany Ferries",
      "needs_attention": false,
      "score": 69.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "broome-county-transit-b-c-transit-2079",
      "name": "Broome County Transit (B.C. Transit)",
      "needs_attention": false,
      "score": 84.3,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "brown-county-heartland-express",
      "name": "Brown County Heartland Express Flex",
      "needs_attention": false,
      "score": 78.4,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 77,
      "expiry_status": "current",
      "grade": "C",
      "id": "bryce-canyon-shuttle",
      "name": "Bryce Canyon Shuttle",
      "needs_attention": false,
      "score": 74.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "bullhead-area-transit-system",
      "name": "Bullhead Area Transit System",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "burbankbus",
      "name": "BurbankBus",
      "needs_attention": false,
      "score": 59.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 176,
      "expiry_status": "current",
      "grade": "C",
      "id": "bus-eireann",
      "name": "Bus \u00c9ireann",
      "needs_attention": false,
      "score": 78.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "bustang-outrider",
      "name": "Bustang Outrider",
      "needs_attention": false,
      "score": 80.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "buzen-city-bus",
      "name": "Buzen City Bus (\u8c4a\u524d\u5e02\u30d0\u30b9)",
      "needs_attention": false,
      "score": 81.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "cache-valley-transit-district",
      "name": "Cache Valley Transit District",
      "needs_attention": false,
      "score": 53.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "B",
      "id": "calaveras-transit",
      "name": "Calaveras Transit",
      "needs_attention": false,
      "score": 80.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 210,
      "expiry_status": "current",
      "grade": "B",
      "id": "cape-lookout-national-seashore",
      "name": "CALO Ferry Service",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "A",
      "id": "caltrain",
      "name": "Caltrain",
      "needs_attention": false,
      "score": 93.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "camarillo-area-transit",
      "name": "Camarillo Area Transit",
      "needs_attention": false,
      "score": 86.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "D",
      "id": "campus-area-rapid-transit-cart",
      "name": "Campus Area Rapid Transit (CART)",
      "needs_attention": false,
      "score": 67.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "canby-area-transit-cat",
      "name": "Canby Area Transit (CAT)",
      "needs_attention": false,
      "score": 84.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "C",
      "id": "canby-ferry",
      "name": "Canby Ferry",
      "needs_attention": false,
      "score": 79.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "capital-area-transit-system-cats-2065",
      "name": "Capital Area Transit System (CATS)",
      "needs_attention": false,
      "score": 66.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 160,
      "expiry_status": "current",
      "grade": "C",
      "id": "capital-metro",
      "name": "Capital Metro",
      "needs_attention": false,
      "score": 79.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the service alerts endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_service_alerts_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 365,
      "expiry_status": "current",
      "grade": "B",
      "id": "car-jaune-reunion",
      "name": "Car Jaune (La R\u00e9union)",
      "needs_attention": false,
      "score": 80.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "caravan-airport-transportation",
      "name": "Caravan Airport Transportation",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 361,
      "expiry_status": "current",
      "grade": "F",
      "id": "cardiff-bus",
      "name": "Cardiff Bus (Bws Caerdydd)",
      "needs_attention": false,
      "score": 56.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 351,
      "expiry_status": "current",
      "grade": "F",
      "id": "carousel-buses",
      "name": "Carousel Buses",
      "needs_attention": false,
      "score": 59.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "F",
      "id": "carris-metropolitana",
      "name": "Carris Metropolitana",
      "needs_attention": false,
      "score": 37.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 349,
      "expiry_status": "current",
      "grade": "D",
      "id": "cars-regionaux-23-creuse",
      "name": "Cars R\u00e9gionaux 23 \u2014 Creuse",
      "needs_attention": false,
      "score": 60.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "cascais-proxima",
      "name": "Cascais Pr\u00f3xima (MobiCascais)",
      "needs_attention": false,
      "score": 81.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "catalina-express",
      "name": "Catalina Express",
      "needs_attention": false,
      "score": 26.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-16",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "catholic-community-services",
      "name": "Catholic Community Services",
      "needs_attention": false,
      "score": 72.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "catholic-community-services-2159",
      "name": "Catholic Community Services",
      "needs_attention": false,
      "score": 72.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "catholic-community-services-2160",
      "name": "Catholic Community Services",
      "needs_attention": false,
      "score": 72.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "central-community-transit",
      "name": "Central Community Transit",
      "needs_attention": false,
      "score": 83.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "D",
      "id": "central-florida-regional-transit-authority-lynx",
      "name": "Central Florida Regional Transit Authority (LYNX)",
      "needs_attention": false,
      "score": 62.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_trip_updates_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 139,
      "expiry_status": "current",
      "grade": "F",
      "id": "champaign-urbana-mass-transit-district-mtd",
      "name": "Champaign Urbana Mass Transit District (MTD)",
      "needs_attention": false,
      "score": 57.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 63,
      "expiry_status": "current",
      "grade": "D",
      "id": "charlotte-area-transit-system-cats-2265",
      "name": "Charlotte Area Transit System (CATS)",
      "needs_attention": false,
      "score": 69.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "chautauqua-area-regional-transit-system-carts",
      "name": "Chautauqua Area Regional Transit System (CARTS)",
      "needs_attention": false,
      "score": 54.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "chenango-first-transit",
      "name": "Chenango First Transit",
      "needs_attention": false,
      "score": 61.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "chigasaki-city-eboshi-bus",
      "name": "Chigasaki City Community Bus Eboshi-go (\u8305\u30f6\u5d0e\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u3048\u307c\u3057\u53f7)",
      "needs_attention": false,
      "score": 80.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "chikuma-bus",
      "name": "Chikuma Bus (\u5343\u66f2\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "chikuma-city-loop-bus",
      "name": "Chikuma City Loop Bus (\u5343\u66f2\u5e02\u5faa\u74b0\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "chita-bus",
      "name": "Chita Bus (\u77e5\u591a\u30d0\u30b9)",
      "needs_attention": false,
      "score": 72.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "chita-city-aiai-bus",
      "name": "Chita City Aiai Bus (\u77e5\u591a\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9 \u3042\u3044\u3042\u3044\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "C",
      "id": "choletbus",
      "name": "Choletbus",
      "needs_attention": false,
      "score": 78.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "chuki-bus",
      "name": "Chuki Bus (\u4e2d\u7d00\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 125,
      "expiry_status": "current",
      "grade": "B",
      "id": "cincinnati-metro",
      "name": "Cincinnati Metro",
      "needs_attention": false,
      "score": 82.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Turn on shape cleanup in your export tool, or drop the repeated points from shapes.txt.",
      "top_fix_code": "equal_shape_distance_same_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "citalis-reunion",
      "name": "Citalis (La R\u00e9union)",
      "needs_attention": false,
      "score": 61.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "cities-area-transit-2199",
      "name": "Cities Area Transit",
      "needs_attention": false,
      "score": 73.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "citilink-2266",
      "name": "Citilink",
      "needs_attention": false,
      "score": 83.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "B",
      "id": "city-direct-ie",
      "name": "City Direct",
      "needs_attention": false,
      "score": 82.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "alexandria-dot",
      "name": "City of Alexandria",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "A",
      "id": "city-of-banning-transit",
      "name": "City of Banning Transit",
      "needs_attention": false,
      "score": 91.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "city-of-corvallis-2283",
      "name": "City of Corvallis",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "A",
      "id": "city-of-ellensburg-public-transit-central-transit-2456",
      "name": "City of Ellensburg Public Transit (Central Transit)",
      "needs_attention": false,
      "score": 92.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "B",
      "id": "city-of-fountain-transit",
      "name": "City of Fountain Transit",
      "needs_attention": false,
      "score": 81.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "city-of-long-beach-transportation",
      "name": "City of Long Beach Transportation",
      "needs_attention": false,
      "score": 64.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "city-of-loveland",
      "name": "City of Loveland Flex",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "C",
      "id": "city-of-miami-beach",
      "name": "City of Miami Beach",
      "needs_attention": false,
      "score": 72.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "C",
      "id": "city-of-miami-gardens",
      "name": "City of Miami Gardens",
      "needs_attention": false,
      "score": 77.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "city-of-milton-freewater-public-transportation-2189",
      "name": "City of Milton-Freewater Public Transportation",
      "needs_attention": false,
      "score": 71.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "city-of-san-luis-obispo-transit",
      "name": "City of San Luis Obispo Transit",
      "needs_attention": false,
      "score": 86.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "C",
      "id": "city-of-tracy",
      "name": "City of Tracy",
      "needs_attention": false,
      "score": 72.6,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 362,
      "expiry_status": "current",
      "grade": "D",
      "id": "city-of-tracy-tracer-3099",
      "name": "City of Tracy (TRACER)",
      "needs_attention": false,
      "score": 69.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "C",
      "id": "citylink-ie",
      "name": "Citylink",
      "needs_attention": false,
      "score": 70.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "clackco-connects-clackamas-county",
      "name": "ClackCo Connects (Clackamas County)",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "clackco-connects-clackamas-county-2741",
      "name": "ClackCo Connects (Clackamas County) Flex",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_pickup_drop_off_window' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_pickup_drop_off_window"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 293,
      "expiry_status": "current",
      "grade": "C",
      "id": "clallam-transit-system",
      "name": "Clallam Transit System",
      "needs_attention": false,
      "score": 78.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "clarkstown-minitrans",
      "name": "Clarkstown MiniTrans",
      "needs_attention": false,
      "score": 63.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "clean-air-express",
      "name": "Clean Air Express",
      "needs_attention": false,
      "score": 90.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "C",
      "id": "clear-creek-county-transit",
      "name": "Clear Creek County Transit",
      "needs_attention": false,
      "score": 75.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 353,
      "expiry_status": "current",
      "grade": "F",
      "id": "coach-services-thetford",
      "name": "Coach Services",
      "needs_attention": false,
      "score": 54.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "cobblinc",
      "name": "CobbLinc",
      "needs_attention": false,
      "score": 61.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_trip_updates_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 926,
      "expiry_status": "current",
      "grade": "B",
      "id": "city-of-gadsen",
      "name": "COG Trolley Routes",
      "needs_attention": false,
      "score": 88.4,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "colorado-mountain-express",
      "name": "Colorado Mountain Express",
      "needs_attention": false,
      "score": 75.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "columbia-area-transit-cat",
      "name": "Columbia Area Transit (CAT)",
      "needs_attention": false,
      "score": 82.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "C",
      "id": "columbia-county-public-transportation",
      "name": "Columbia County Public Transportation",
      "needs_attention": false,
      "score": 73.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1247,
      "expiry_status": "current",
      "grade": "C",
      "id": "columbia-county-public-transportation-3116",
      "name": "Columbia County Public Transportation",
      "needs_attention": false,
      "score": 77.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "columbia-county-rider",
      "name": "Columbia County Rider",
      "needs_attention": false,
      "score": 77.9,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 211,
      "expiry_status": "current",
      "grade": "C",
      "id": "colville-confederated-tribes-transit",
      "name": "Colville Confederated Tribes Transit",
      "needs_attention": false,
      "score": 79.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "B",
      "id": "commerce-municipal-bus-lines",
      "name": "Commerce Municipal Bus Lines",
      "needs_attention": false,
      "score": 83.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "community-in-motion",
      "name": "Community in Motion",
      "needs_attention": false,
      "score": 74.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "commute-org-san-mateo-county-shuttles",
      "name": "Commute.org San Mateo County Shuttles",
      "needs_attention": false,
      "score": 85.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "maryland-transit-administration-467",
      "name": "Commuter Bus",
      "needs_attention": false,
      "score": 54.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "D",
      "id": "connect-transit-2267",
      "name": "Connect Transit",
      "needs_attention": false,
      "score": 62.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 160,
      "expiry_status": "current",
      "grade": "D",
      "id": "connecticut-transit",
      "name": "Connecticut Transit",
      "needs_attention": false,
      "score": 60.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "tib-mallorca",
      "name": "Consorci de Transports de Mallorca (TIB)",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "coos-county-area-transit-ccat",
      "name": "Coos County Area Transit (CCAT)",
      "needs_attention": false,
      "score": 72.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "B",
      "id": "coralville-transit",
      "name": "Coralville Transit",
      "needs_attention": false,
      "score": 82.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "corolis-beauvais",
      "name": "Corolis (Beauvais)",
      "needs_attention": false,
      "score": 72.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 210,
      "expiry_status": "current",
      "grade": "B",
      "id": "corona-cruiser",
      "name": "Corona Cruiser",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "corridorrides",
      "name": "CorridorRides",
      "needs_attention": false,
      "score": 78.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "cortran",
      "name": "CORTRAN Flex",
      "needs_attention": false,
      "score": 78.4,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "cottonwood-area-transit-cat",
      "name": "Cottonwood Area Transit (CAT)",
      "needs_attention": false,
      "score": 79.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 74,
      "expiry_status": "current",
      "grade": "C",
      "id": "cripple-creek-transportation",
      "name": "Cripple Creek Transportation",
      "needs_attention": false,
      "score": 79.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 74,
      "expiry_status": "current",
      "grade": "C",
      "id": "cripple-creek-transportation-2042",
      "name": "Cripple Creek Transportation Flex",
      "needs_attention": false,
      "score": 78.7,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "crtm-red-de-emt",
      "name": "CRTM \u2014 Red de EMT (Madrid city bus)",
      "needs_attention": false,
      "score": 72.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 389,
      "expiry_status": "current",
      "grade": "F",
      "id": "crtm-red-de-interurbanos",
      "name": "CRTM \u2014 Red de Interurbanos (Madrid regional bus)",
      "needs_attention": false,
      "score": 33.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 354,
      "expiry_status": "current",
      "grade": "C",
      "id": "crtm-metro-ligero",
      "name": "CRTM \u2014 Red de Metro Ligero (Madrid light rail)",
      "needs_attention": false,
      "score": 70.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 174,
      "expiry_status": "current",
      "grade": "C",
      "id": "cts-strasbourg",
      "name": "CTS (Strasbourg)",
      "needs_attention": false,
      "score": 76.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "curry-public-transit",
      "name": "Curry Public Transit",
      "needs_attention": false,
      "score": 84.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "B",
      "id": "cuttyhunk-ferry-company",
      "name": "Cuttyhunk Ferry Company",
      "needs_attention": false,
      "score": 83.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8916,
      "expiry_status": "current",
      "grade": "D",
      "id": "dana-point-trolley",
      "name": "Dana Point Trolley",
      "needs_attention": false,
      "score": 62.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "dazaifu-city-mahoroba-bus",
      "name": "Dazaifu City Community Bus Mahoroba-go (\u592a\u5bb0\u5e9c\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u307e\u307b\u308d\u3070\u53f7)",
      "needs_attention": false,
      "score": 80.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "D",
      "id": "deepmob-dieppe",
      "name": "DeepMob (Dieppe)",
      "needs_attention": false,
      "score": 61.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "dekalb-public-transit",
      "name": "DeKalb Public Transit",
      "needs_attention": false,
      "score": 76.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 104,
      "expiry_status": "current",
      "grade": "F",
      "id": "delaware-transit-corporation-dart-first-state",
      "name": "Delaware Transit Corporation (DART First State)",
      "needs_attention": false,
      "score": 46.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 161,
      "expiry_status": "current",
      "grade": "D",
      "id": "denton-county-transportation-authority-dcta",
      "name": "Denton County Transportation Authority (DCTA)",
      "needs_attention": false,
      "score": 63.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_trip_updates_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "detroit-people-mover-2281",
      "name": "Detroit People Mover",
      "needs_attention": false,
      "score": 80.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "sound-generations-hyde-shuttle",
      "name": "do not use - deprecfated",
      "needs_attention": false,
      "score": 74.6,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "dodger-area-rapid-transit",
      "name": "Dodger Area Rapid Transit",
      "needs_attention": false,
      "score": 87.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "dolores-county",
      "name": "Dolores County",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "ding-verkehrsverbund",
      "name": "Donau-Iller-Nahverkehrsverbund (DING)",
      "needs_attention": false,
      "score": 43.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "dpb-bratislava",
      "name": "Dopravn\u00fd podnik Bratislava, a.s. (DPB)",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "A",
      "id": "downtown-alliance",
      "name": "Downtown Alliance",
      "needs_attention": false,
      "score": 92.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "A",
      "id": "dry-tortugas-national-park",
      "name": "DRTO Ferry Service",
      "needs_attention": false,
      "score": 99.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check whether the gap is real, like a seasonal break; if not, add the missing dates to the calendar.",
      "top_fix_code": "big_gap_in_service"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 333,
      "expiry_status": "current",
      "grade": "C",
      "id": "druskininkai-public-transport",
      "name": "Druskininkai public transport",
      "needs_attention": false,
      "score": 71.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "C",
      "id": "dublin-bus",
      "name": "Dublin Bus (Transport for Ireland)",
      "needs_attention": false,
      "score": 76.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "durango-transit",
      "name": "Durango Transit",
      "needs_attention": false,
      "score": 86.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "durango-transit-2290",
      "name": "Durango Transit Flex",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 9190,
      "expiry_status": "current",
      "grade": "D",
      "id": "dutchess-county",
      "name": "Dutchess County",
      "needs_attention": false,
      "score": 63.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 354,
      "expiry_status": "current",
      "grade": "F",
      "id": "east-yorkshire-buses",
      "name": "East Yorkshire",
      "needs_attention": false,
      "score": 33.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "eastern-sierra-transit",
      "name": "Eastern Sierra Transit",
      "needs_attention": false,
      "score": 87.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "eastside-friends-of-seniors",
      "name": "Eastside Friends of Seniors",
      "needs_attention": false,
      "score": 73.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "easy-ride-transportation",
      "name": "Easy Ride Transportation",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 272,
      "expiry_status": "current",
      "grade": "C",
      "id": "eco-transit-2045",
      "name": "ECO Transit Flex",
      "needs_attention": false,
      "score": 73.8,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "el-dorado-transit-agency",
      "name": "El Dorado County Transit Authority",
      "needs_attention": false,
      "score": 84.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "B",
      "id": "el-paso-transportation-authority",
      "name": "El Paso Transportation Authority",
      "needs_attention": false,
      "score": 81.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "D",
      "id": "elektrenai-public-transport",
      "name": "Elektr\u0117nai public transport",
      "needs_attention": false,
      "score": 67.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "elwha-transit",
      "name": "Elwha Transit",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 365,
      "expiry_status": "current",
      "grade": "B",
      "id": "embark-2062",
      "name": "Embark",
      "needs_attention": false,
      "score": 83.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'missing_bike_allowance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "missing_bike_allowance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 482,
      "expiry_status": "current",
      "grade": "B",
      "id": "emery-go-round-2224",
      "name": "Emery Go-Round",
      "needs_attention": false,
      "score": 80.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "emt-madrid",
      "name": "EMT Madrid",
      "needs_attention": false,
      "score": 69.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "envida",
      "name": "Envida",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "C",
      "id": "envida-2044",
      "name": "Envida Flex",
      "needs_attention": false,
      "score": 78.1,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "F",
      "id": "essex-bus-network",
      "name": "Essex Bus Network",
      "needs_attention": false,
      "score": 49.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 295,
      "expiry_status": "current",
      "grade": "C",
      "id": "estes-transit-2047",
      "name": "Estes Transit Flex",
      "needs_attention": false,
      "score": 71.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "estonia-public-transport-register",
      "name": "Estonian Public Transport Register national aggregate",
      "needs_attention": false,
      "score": 45.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "A",
      "id": "etrans",
      "name": "eTrans",
      "needs_attention": false,
      "score": 96.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Remove retired stops from the export, or add them back to the trips that should serve them.",
      "top_fix_code": "stop_without_stop_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 88,
      "expiry_status": "current",
      "grade": "F",
      "id": "eurostar",
      "name": "Eurostar",
      "needs_attention": false,
      "score": 59.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 89,
      "expiry_status": "current",
      "grade": "C",
      "id": "everett-transit-3038",
      "name": "Everett Transit",
      "needs_attention": false,
      "score": 78.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "C",
      "id": "exo-chambly-richelieu-carignan",
      "name": "exo Chambly-Richelieu-Carignan",
      "needs_attention": false,
      "score": 72.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "C",
      "id": "exo-lassomption",
      "name": "exo L'Assomption",
      "needs_attention": false,
      "score": 73.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "C",
      "id": "exo-la-presquile",
      "name": "exo La Presqu'\u00cele",
      "needs_attention": false,
      "score": 72.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "exo-laurentides",
      "name": "exo Laurentides",
      "needs_attention": false,
      "score": 69.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "C",
      "id": "exo-sorel-varennes",
      "name": "exo Sorel-Varennes",
      "needs_attention": false,
      "score": 72.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "exo-terrebonne-mascouche",
      "name": "exo Terrebonne-Mascouche",
      "needs_attention": false,
      "score": 66.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "C",
      "id": "exo-vallee-du-richelieu",
      "name": "exo Vall\u00e9e du Richelieu",
      "needs_attention": false,
      "score": 70.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "exo-sainte-julie",
      "name": "exo Ville de Sainte-Julie",
      "needs_attention": false,
      "score": 67.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "C",
      "id": "express-bus-ie",
      "name": "Express Bus",
      "needs_attention": false,
      "score": 80.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8916,
      "expiry_status": "current",
      "grade": "F",
      "id": "ez-rider",
      "name": "EZ Rider",
      "needs_attention": false,
      "score": 46.3,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 790,
      "expiry_status": "current",
      "grade": "D",
      "id": "fairfax-connector",
      "name": "Fairfax Connector",
      "needs_attention": false,
      "score": 61.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 4929,
      "expiry_status": "current",
      "grade": "D",
      "id": "fairfax-cue-bus-cue",
      "name": "Fairfax CUE Bus (CUE)",
      "needs_attention": false,
      "score": 68.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8916,
      "expiry_status": "current",
      "grade": "D",
      "id": "fairfax-cue-bus-cue-2885",
      "name": "Fairfax CUE Bus (CUE)",
      "needs_attention": false,
      "score": 63.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 140,
      "expiry_status": "current",
      "grade": "D",
      "id": "farte-telemark",
      "name": "Farte (Telemark)",
      "needs_attention": false,
      "score": 62.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fgc-catalunya",
      "name": "Ferrocarrils de la Generalitat de Catalunya (FGC)",
      "needs_attention": false,
      "score": 74.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 158,
      "expiry_status": "current",
      "grade": "A",
      "id": "fertagus",
      "name": "Fertagus",
      "needs_attention": false,
      "score": 95.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the flagged stops' shape_dist_traveled against the route shape, and re-generate it on export if they disagree.",
      "top_fix_code": "stop_too_far_from_shape_using_user_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "F",
      "id": "filibus-chartres",
      "name": "Filibus (Chartres)",
      "needs_attention": false,
      "score": 51.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "brown-county-heartland-express-2296",
      "name": "Fixed route + flex",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "florida-department-of-transportation-sunrail",
      "name": "Florida Department of Transportation (SunRail)",
      "needs_attention": false,
      "score": 91.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 135,
      "expiry_status": "current",
      "grade": "C",
      "id": "flytoget-airport-express",
      "name": "Flytoget (Airport Express Train)",
      "needs_attention": false,
      "score": 70.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "F",
      "id": "foothill-transit",
      "name": "Foothill Transit",
      "needs_attention": false,
      "score": 50.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_trip_updates_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "fort-matanzas-ferry",
      "name": "Fort Matanzas Ferry (National Park Service)",
      "needs_attention": false,
      "score": 100.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": null,
      "top_fix_code": null
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "expiry_status": "current",
      "grade": "A",
      "id": "fort-sumter-ferry",
      "name": "Fort Sumter Ferry (National Park Service)",
      "needs_attention": false,
      "score": 98.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Remove past service periods the next time you export the feed.",
      "top_fix_code": "expired_calendar"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "B",
      "id": "four-county-transit",
      "name": "Four County Transit",
      "needs_attention": false,
      "score": 82.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "four-county-transit-2448",
      "name": "Four County Transit Flex",
      "needs_attention": false,
      "score": 75.7,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 156,
      "expiry_status": "current",
      "grade": "D",
      "id": "fram-more-og-romsdal",
      "name": "FRAM (M\u00f8re og Romsdal)",
      "needs_attention": false,
      "score": 60.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "franklin-transit-authority",
      "name": "Franklin Transit Authority",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "vag-freiburg",
      "name": "Freiburger Verkehrs AG (VAG)",
      "needs_attention": false,
      "score": 52.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "fcrta",
      "name": "Fresno County Rural Transit Agency (FCRTA)",
      "needs_attention": false,
      "score": 90.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "froggy-transportation",
      "name": "Froggy Transportation",
      "needs_attention": false,
      "score": 87.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 83,
      "expiry_status": "current",
      "grade": "C",
      "id": "fujieda-city-bus",
      "name": "Fujieda City Community Bus (\u85e4\u679d\u5e02\u81ea\u4e3b\u904b\u884c\u30d0\u30b9)",
      "needs_attention": false,
      "score": 78.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "fukaura-town-community-bus",
      "name": "Fukaura Town Community Bus (\u6df1\u6d66\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "fukutsu-city-mini-bus",
      "name": "Fukutsu Mini-Bus (\u3075\u304f\u3064\u30df\u30cb\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 308,
      "expiry_status": "current",
      "grade": "F",
      "id": "foli-turku",
      "name": "F\u00f6li (Turku region)",
      "needs_attention": false,
      "score": 51.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "gero-city-gero-bus",
      "name": "Gero City Gero Bus (\u4e0b\u5442\u5e02\u3052\u308d\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "gifu-city-community-bus",
      "name": "Gifu City Community Bus (\u5c90\u961c\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 72.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 77,
      "expiry_status": "current",
      "grade": "C",
      "id": "ginko-besancon",
      "name": "Ginko (Besan\u00e7on)",
      "needs_attention": false,
      "score": 75.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "glenn-transit-service-3094",
      "name": "Glenn Transit Service",
      "needs_attention": false,
      "score": 85.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "gloversville-transit-system",
      "name": "Gloversville Transit System",
      "needs_attention": false,
      "score": 52.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'empty_file' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "empty_file"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 362,
      "expiry_status": "current",
      "grade": "F",
      "id": "go-cornwall-bus",
      "name": "Go Cornwall Bus (Transport for Cornwall)",
      "needs_attention": false,
      "score": 49.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 143,
      "expiry_status": "current",
      "grade": "D",
      "id": "go-north-east",
      "name": "Go North East",
      "needs_attention": false,
      "score": 62.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "B",
      "id": "go-transit",
      "name": "GO Transit",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 174,
      "expiry_status": "current",
      "grade": "C",
      "id": "goahead-ireland",
      "name": "Go-Ahead Ireland",
      "needs_attention": false,
      "score": 79.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 113,
      "expiry_status": "current",
      "grade": "D",
      "id": "go-ahead-nordic-rail",
      "name": "Go-Ahead Norge (rail)",
      "needs_attention": false,
      "score": 68.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 124,
      "expiry_status": "current",
      "grade": "B",
      "id": "gocary-2277",
      "name": "GoCary",
      "needs_attention": false,
      "score": 81.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 153,
      "expiry_status": "current",
      "grade": "F",
      "id": "gold-coast-transit-south-coast-area-transit",
      "name": "Gold Coast Transit, South Coast Area Transit",
      "needs_attention": false,
      "score": 46.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "golden-empire-transit-district-get",
      "name": "Golden Empire Transit District (GET)",
      "needs_attention": false,
      "score": 89.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').",
      "top_fix_code": "mixed_case_recommended_field"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "goshogawara-city-community-bus",
      "name": "Goshogawara City Community Bus (\u4e94\u6240\u5ddd\u539f\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 195,
      "expiry_status": "current",
      "grade": "D",
      "id": "gotriangle-3183",
      "name": "GoTriangle",
      "needs_attention": false,
      "score": 69.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "graham-transit",
      "name": "Graham Transit",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "grand-valley-transit-2288",
      "name": "Grand Valley Transit Flex",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "C",
      "id": "grant-transit-authority",
      "name": "Grant Transit Authority",
      "needs_attention": false,
      "score": 79.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1063,
      "expiry_status": "current",
      "grade": "C",
      "id": "grapeline",
      "name": "GrapeLine",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 89,
      "expiry_status": "current",
      "grade": "A",
      "id": "grays-harbor-transit",
      "name": "Grays Harbor Transit",
      "needs_attention": false,
      "score": 95.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Turn on shape cleanup in your export tool, or drop the repeated points from shapes.txt.",
      "top_fix_code": "equal_shape_distance_same_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 147,
      "expiry_status": "current",
      "grade": "C",
      "id": "greater-bridgeport-transit",
      "name": "Greater Bridgeport Transit",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 125,
      "expiry_status": "current",
      "grade": "F",
      "id": "greater-cleveland-regional-transit-authority",
      "name": "Greater Cleveland Regional Transit Authority",
      "needs_attention": false,
      "score": 33.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_trip_updates_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "greater-lynchburg-transit-co",
      "name": "Greater Lynchburg Transit Co.",
      "needs_attention": false,
      "score": 81.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "green-mountain-community-network-gmcn",
      "name": "Green Mountain Community Network (GMCN)",
      "needs_attention": false,
      "score": 78.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "F",
      "id": "greene-county-transit",
      "name": "Greene County Transit",
      "needs_attention": false,
      "score": 54.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "greensville-emporia-transit",
      "name": "Greensville Emporia Transit",
      "needs_attention": false,
      "score": 82.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 360,
      "expiry_status": "current",
      "grade": "D",
      "id": "greenville-transit-authority-greenlink",
      "name": "Greenville Transit Authority (Greenlink)",
      "needs_attention": false,
      "score": 66.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 69,
      "expiry_status": "current",
      "grade": "B",
      "id": "gtrans-2270",
      "name": "GTrans",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 290,
      "expiry_status": "current",
      "grade": "C",
      "id": "guemes-island-ferry",
      "name": "Guemes Island Ferry",
      "needs_attention": false,
      "score": 74.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "guimabus",
      "name": "Guimabus (Guimar\u00e3es)",
      "needs_attention": false,
      "score": 46.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "gujo-city-bus",
      "name": "Gujo City Bus (\u90e1\u4e0a\u5e02\u81ea\u4e3b\u904b\u884c\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "gunnison-valley-rta",
      "name": "Gunnison Valley RTA Flex",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "expiry_status": "current",
      "grade": "A",
      "id": "gunnison-valley-transportation-authority-rta",
      "name": "Gunnison Valley Transportation Authority (RTA)",
      "needs_attention": false,
      "score": 98.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Remove past service periods the next time you export the feed.",
      "top_fix_code": "expired_calendar"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 156,
      "expiry_status": "current",
      "grade": "C",
      "id": "busnet-tsu-gurutto-bus",
      "name": "Gurutto-Tsu Bus (\u3050\u308b\u3063\u3068\u30fb\u3064\u30fc\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 146,
      "expiry_status": "current",
      "grade": "C",
      "id": "gwinnett-county-transit-2241",
      "name": "Gwinnett County Transit",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hachiman-kanko-bus",
      "name": "Hachiman Kanko Bus (\u516b\u5e61\u89b3\u5149\u30d0\u30b9)",
      "needs_attention": false,
      "score": 72.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hachinohe-city-bus",
      "name": "Hachinohe City Bus (\u516b\u6238\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 71.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 225,
      "expiry_status": "current",
      "grade": "C",
      "id": "hakusan-community-bus",
      "name": "Hakusan City Community Bus (\u767d\u5c71\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3081\u3050\u30fc\u308b\u300d)",
      "needs_attention": false,
      "score": 78.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "hamamatsu-bus-iwata",
      "name": "Hamamatsu Bus, Iwata routes (\u6d5c\u677e\u30d0\u30b9\uff0f\u78d0\u7530\u5e02\u751f\u6d3b\u30d0\u30b9\u8def\u7dda)",
      "needs_attention": false,
      "score": 83.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "hvv-hamburg",
      "name": "Hamburger Verkehrsverbund (hvv)",
      "needs_attention": false,
      "score": 41.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 83,
      "expiry_status": "current",
      "grade": "D",
      "id": "hampton-roads-transit-hrt",
      "name": "Hampton Roads Transit (HRT)",
      "needs_attention": false,
      "score": 62.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hanamaki-community-bus",
      "name": "Hanamaki City Community Bus (\u82b1\u5dfb\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "B",
      "id": "harbor-connector",
      "name": "Harbor Connector",
      "needs_attention": false,
      "score": 81.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 89,
      "expiry_status": "current",
      "grade": "B",
      "id": "harney-county",
      "name": "Harney County",
      "needs_attention": false,
      "score": 81.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "A",
      "id": "harpers-ferry-shuttle",
      "name": "Harpers Ferry Shuttle (National Park Service)",
      "needs_attention": false,
      "score": 93.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 344,
      "expiry_status": "current",
      "grade": "B",
      "id": "connecticut-transit-2840",
      "name": "Hartford Line - Rail",
      "needs_attention": false,
      "score": 83.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hayashima-town-bus",
      "name": "Hayashima Town Community Bus (\u65e9\u5cf6\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 331,
      "expiry_status": "current",
      "grade": "F",
      "id": "hedingham-chambers",
      "name": "Hedingham & Chambers",
      "needs_attention": false,
      "score": 40.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "hnv-heilbronn",
      "name": "Heilbronner\u00b7Hohenloher\u00b7Haller Nahverkehr (HNV)",
      "needs_attention": false,
      "score": 44.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "higashine-city-bus",
      "name": "Higashine City Bus (\u6771\u6839\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "high-desert-point",
      "name": "High Desert Point",
      "needs_attention": false,
      "score": 31.3,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-01",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "D",
      "id": "hilagobus-saint-gilles",
      "name": "Hilagobus (Saint-Gilles-Croix-de-Vie)",
      "needs_attention": false,
      "score": 69.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "himeji-island-community-bus",
      "name": "Himeji City Island Community Buses (\u59eb\u8def\u5e02 \u5bb6\u5cf6\u30fb\u574a\u52e2\u30fb\u96ea\u5f66\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hiranai-townbus",
      "name": "Hiranai Town Community Bus (\u5e73\u5185\u753a\u6c11\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 218,
      "expiry_status": "current",
      "grade": "B",
      "id": "hokushin-bus",
      "name": "Hokushin Bus (\u5317\u632f\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "hokuto-city-bus",
      "name": "Hokuto City Bus (\u5317\u675c\u5e02\u6c11\u30d0\u30b9)",
      "needs_attention": false,
      "score": 81.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 109,
      "expiry_status": "current",
      "grade": "B",
      "id": "home-james",
      "name": "Home James",
      "needs_attention": false,
      "score": 83.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "hong-kong-transport-department",
      "name": "Hong Kong Transport Department public transport aggregate",
      "needs_attention": false,
      "score": 47.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_url"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 644,
      "expiry_status": "current",
      "grade": "B",
      "id": "hope-college-evening-shuttle",
      "name": "Hope College Evening Shuttle",
      "needs_attention": false,
      "score": 81.1,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "hopelink-transportation",
      "name": "Hopelink Transportation",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "humboldt-transit-authority",
      "name": "Humboldt Transit Authority",
      "needs_attention": false,
      "score": 95.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the flagged stops' shape_dist_traveled against the route shape, and re-generate it on export if they disagree.",
      "top_fix_code": "stop_too_far_from_shape_using_user_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "humboldt-transit-authority-3032",
      "name": "Humboldt Transit Authority",
      "needs_attention": false,
      "score": 90.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape_dist_traveled on export so stop and shape distances use the same units.",
      "top_fix_code": "trip_distance_exceeds_shape_distance_below_threshold"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 153,
      "expiry_status": "current",
      "grade": "C",
      "id": "huntington-area-rapid-transit-hart",
      "name": "Huntington Area Rapid Transit (HART)",
      "needs_attention": false,
      "score": 73.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "huntsville-shuttle-2081",
      "name": "Huntsville Shuttle",
      "needs_attention": false,
      "score": 72.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "hut-airport-shuttle",
      "name": "HUT Airport Shuttle",
      "needs_attention": false,
      "score": 31.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-16",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "hy-line-cruises",
      "name": "Hy-Line Cruises",
      "needs_attention": false,
      "score": 81.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8553,
      "expiry_status": "current",
      "grade": "D",
      "id": "i-ride-trolley-i-ride",
      "name": "I-RIDE Trolley (I-RIDE)",
      "needs_attention": false,
      "score": 69.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "C",
      "id": "irish-rail",
      "name": "Iarnr\u00f3d \u00c9ireann (Irish Rail)",
      "needs_attention": false,
      "score": 74.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "ichikawamisato-town-bus",
      "name": "Ichikawamisato Town Community Bus (\u5e02\u5ddd\u4e09\u90f7\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "ichinoseki-city-bus",
      "name": "Ichinoseki City Bus (\u4e00\u95a2\u5e02\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 336,
      "expiry_status": "current",
      "grade": "C",
      "id": "idelis-pau",
      "name": "Idelis (Pau)",
      "needs_attention": false,
      "score": 76.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "iga-city-community-bus",
      "name": "Iga City Community Bus (\u4f0a\u8cc0\u5e02\u884c\u653f\u30d0\u30b9\u30fb\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "imari-city-imarin-bus",
      "name": "Imari City Imarin Bus (\u4f0a\u4e07\u91cc\u5e02\u3044\u307e\u308a\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 81.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "imizu-city-kitokito-bus",
      "name": "Imizu City Kitokito Bus (\u5c04\u6c34\u5e02\u304d\u3068\u304d\u3068\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "impulsyon-la-roche-sur-yon",
      "name": "Impulsyon (La Roche-sur-Yon)",
      "needs_attention": false,
      "score": 61.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 140,
      "expiry_status": "current",
      "grade": "F",
      "id": "innlandstrafikk",
      "name": "Innlandstrafikk",
      "needs_attention": false,
      "score": 39.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 765,
      "expiry_status": "current",
      "grade": "F",
      "id": "intalink-hertfordshire",
      "name": "Intalink",
      "needs_attention": false,
      "score": 45.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 133,
      "expiry_status": "current",
      "grade": "C",
      "id": "ids-jmk-south-moravia",
      "name": "Integrovan\u00fd dopravn\u00ed syst\u00e9m Jihomoravsk\u00e9ho kraje (IDS JMK)",
      "needs_attention": false,
      "score": 70.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 272,
      "expiry_status": "current",
      "grade": "C",
      "id": "intercity-transit-2289",
      "name": "Intercity Transit",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "interurban-trolley",
      "name": "Interurban Trolley",
      "needs_attention": false,
      "score": 85.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 607,
      "expiry_status": "current",
      "grade": "B",
      "id": "inzai-city-route-bus",
      "name": "Inzai City Route Bus (\u5370\u897f\u5e02\u8def\u7dda\u30d0\u30b9)",
      "needs_attention": false,
      "score": 82.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "C",
      "id": "iowa-city-transit-system",
      "name": "Iowa City Transit System",
      "needs_attention": false,
      "score": 79.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "ise-railway",
      "name": "Ise Railway (\u4f0a\u52e2\u9244\u9053)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "ishikari-itsumo-demand",
      "name": "Ishikari City Itsumo AI On-Demand Transit (\u77f3\u72e9\u5e02AI\u30c7\u30de\u30f3\u30c9\u4ea4\u901a\u300c\u3044\u3064\u30e2\u300d)",
      "needs_attention": false,
      "score": 63.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 71,
      "expiry_status": "current",
      "grade": "C",
      "id": "acadia-island-explorer",
      "name": "Island Explorer (Acadia National Park)",
      "needs_attention": false,
      "score": 78.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "itoigawa-bus",
      "name": "Itoigawa Bus (\u7cf8\u9b5a\u5ddd\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "iwade-loop-bus",
      "name": "Iwade City Loop Bus (\u5ca9\u51fa\u5e02\u5de1\u56de\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 77,
      "expiry_status": "current",
      "grade": "F",
      "id": "izilo-lorient",
      "name": "Izilo (Lorient)",
      "needs_attention": false,
      "score": 53.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 341,
      "expiry_status": "current",
      "grade": "B",
      "id": "izmir-metro",
      "name": "\u0130zmir Metro",
      "needs_attention": false,
      "score": 85.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "C",
      "id": "jacksonville-transportation-authority-jta",
      "name": "Jacksonville Transportation Authority (JTA)",
      "needs_attention": false,
      "score": 72.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 130,
      "expiry_status": "current",
      "grade": "B",
      "id": "janesville-transit-system",
      "name": "Janesville Transit System",
      "needs_attention": false,
      "score": 82.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 304,
      "expiry_status": "current",
      "grade": "A",
      "id": "jefferson-transit-authority",
      "name": "Jefferson Transit Authority",
      "needs_attention": false,
      "score": 98.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').",
      "top_fix_code": "mixed_case_recommended_field"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "C",
      "id": "jj-kavanagh",
      "name": "JJ Kavanagh & Sons",
      "needs_attention": false,
      "score": 78.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "joetsu-city-bus",
      "name": "Joetsu City Bus (\u4e0a\u8d8a\u5e02\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 67.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "johnson-county-transit",
      "name": "Johnson County Transit",
      "needs_attention": false,
      "score": 67.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 356,
      "expiry_status": "current",
      "grade": "D",
      "id": "jonava-public-transport",
      "name": "Jonava public transport",
      "needs_attention": false,
      "score": 65.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 882,
      "expiry_status": "current",
      "grade": "D",
      "id": "joniskis-public-transport",
      "name": "Joni\u0161kis public transport",
      "needs_attention": false,
      "score": 61.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "josephine-county-transit-jct",
      "name": "Josephine County Transit (JCT)",
      "needs_attention": false,
      "score": 83.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "jr-east-tsugaru-line-replacement-bus",
      "name": "JR East Tsugaru Line Replacement Bus (JR\u6d25\u8efd\u7dda\u4ee3\u884c\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "D",
      "id": "jurbarkas-public-transport",
      "name": "Jurbarkas public transport",
      "needs_attention": false,
      "score": 64.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kaetsuno-route-bus",
      "name": "Kaetsuno Route Bus (\u52a0\u8d8a\u80fd\u30d0\u30b9 \u4e00\u822c\u8def\u7dda)",
      "needs_attention": false,
      "score": 72.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kagamino-town-bus",
      "name": "Kagamino Town Bus (\u93e1\u91ce\u753a\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "F",
      "id": "kagoshima-city-ai-bus",
      "name": "Kagoshima City Community Bus Ai Bus (\u9e7f\u5150\u5cf6\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3042\u3044\u3070\u3059\u300d)",
      "needs_attention": false,
      "score": 48.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "kai-city-bus",
      "name": "Kai City Bus (\u7532\u6590\u5e02\u6c11\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "C",
      "id": "kakogawa-city-kako-bus",
      "name": "Kakogawa City Kako Bus (\u52a0\u53e4\u5ddd\u5e02\u304b\u3053\u30d0\u30b9)",
      "needs_attention": false,
      "score": 78.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 395,
      "expiry_status": "current",
      "grade": "D",
      "id": "kalvarija-public-transport",
      "name": "Kalvarija public transport",
      "needs_attention": false,
      "score": 63.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "kama-city-bus",
      "name": "Kama City Bus (\u5609\u9ebb\u5e02\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "kameyama-city-community-bus",
      "name": "Kameyama City Community Bus (\u4e80\u5c71\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "C",
      "id": "kamishihoro-autonomous-bus",
      "name": "Kamishihoro Town Autonomous Bus (\u4e0a\u58eb\u5e4c\u753a\u81ea\u52d5\u904b\u8ee2\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "C",
      "id": "kamo-city-kamon-bus",
      "name": "Kamo City Kamon Bus (\u52a0\u8302\u5e02\u55b6\u30d0\u30b9\u300c\u304b\u3082\u3093\u30d0\u30b9\u300d)",
      "needs_attention": false,
      "score": 75.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kanonji-city-noriai-bus",
      "name": "Kanonji City Noriai Bus (\u89b3\u97f3\u5bfa\u5e02\u306e\u308a\u3042\u3044\u30d0\u30b9)",
      "needs_attention": false,
      "score": 77.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 62,
      "expiry_status": "current",
      "grade": "F",
      "id": "kansas-city-area-transportation-authority-kcata",
      "name": "Kansas City Area Transportation Authority (KCATA)",
      "needs_attention": false,
      "score": 55.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 317,
      "expiry_status": "current",
      "grade": "C",
      "id": "kariya-city-karimaru",
      "name": "Kariya City Karimaru Bus (\u5208\u8c37\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u304b\u308a\u307e\u308b\u300d)",
      "needs_attention": false,
      "score": 74.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "karlsruher-verkehrsverbund",
      "name": "Karlsruher Verkehrsverbund (KVV)",
      "needs_attention": false,
      "score": 59.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "karuizawa-town-loop-bus",
      "name": "Karuizawa Town Loop Bus (\u8efd\u4e95\u6ca2\u753a\u753a\u5185\u5faa\u74b0\u30d0\u30b9)",
      "needs_attention": false,
      "score": 72.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "katori-loop-bus",
      "name": "Katori City Loop Bus (\u9999\u53d6\u5e02\u5faa\u74b0\u30d0\u30b9)",
      "needs_attention": false,
      "score": 79.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 288,
      "expiry_status": "current",
      "grade": "C",
      "id": "katsuragi-town-community-bus",
      "name": "Katsuragi Town Community Bus (\u304b\u3064\u3089\u304e\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "katsushika-sakura-bus",
      "name": "Katsushika City Community Bus Sakura (\u845b\u98fe\u533a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u3055\u304f\u3089)",
      "needs_attention": false,
      "score": 82.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 333,
      "expiry_status": "current",
      "grade": "D",
      "id": "kaunas-city-public-transport",
      "name": "Kaunas city public transport",
      "needs_attention": false,
      "score": 68.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "D",
      "id": "kaunas-district-public-transport",
      "name": "Kaunas district public transport",
      "needs_attention": false,
      "score": 67.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "C",
      "id": "kearns-transport",
      "name": "Kearns Transport",
      "needs_attention": false,
      "score": 75.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "D",
      "id": "keisei-bus-chiba-west",
      "name": "Keisei Bus Chiba West (\u4eac\u6210\u30d0\u30b9\u5343\u8449\u30a6\u30a8\u30b9\u30c8)",
      "needs_attention": false,
      "score": 68.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "kelme-public-transport",
      "name": "Kelm\u0117 public transport",
      "needs_attention": false,
      "score": 60.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "B",
      "id": "kenko-hokubu-kotsu",
      "name": "Kenko Hokubu Kotsu (\u770c\u4ea4\u5317\u90e8\u4ea4\u901a)",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 181,
      "expiry_status": "current",
      "grade": "B",
      "id": "kern-transit",
      "name": "Kern Transit",
      "needs_attention": false,
      "score": 82.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 106,
      "expiry_status": "current",
      "grade": "F",
      "id": "kiceo-vannes",
      "name": "Kic\u00e9o (Vannes)",
      "needs_attention": false,
      "score": 48.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "kimitsu-community-bus",
      "name": "Kimitsu City Community Bus (\u541b\u6d25\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 82.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "kings-area-rural-transit-2204",
      "name": "Kings Area Rural Transit",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 607,
      "expiry_status": "current",
      "grade": "D",
      "id": "kinokawa-city-community-bus",
      "name": "Kinokawa City Community Bus (\u7d00\u306e\u5ddd\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 70.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "kiowa-county-transit",
      "name": "Kiowa County Transit Flex",
      "needs_attention": false,
      "score": 72.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "C",
      "id": "kiso-town-bus",
      "name": "Kiso Town Public Transport (\u6728\u66fd\u753a\u516c\u5171\u4ea4\u901a)",
      "needs_attention": false,
      "score": 77.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kitaena-kotsu",
      "name": "Kitaena Kotsu (\u5317\u6075\u90a3\u4ea4\u901a)",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 355,
      "expiry_status": "current",
      "grade": "C",
      "id": "klaipeda-city-public-transport",
      "name": "Klaip\u0117da city public transport",
      "needs_attention": false,
      "score": 72.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "knoxville-area-transit-kat",
      "name": "Knoxville Area Transit (KAT)",
      "needs_attention": false,
      "score": 56.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "kochi-airport-shared-taxi",
      "name": "Kochi Airport Shared Taxi (\u9ad8\u77e5\u770c\u7a7a\u6e2f\u4e57\u5408\u30bf\u30af\u30b7\u30fc)",
      "needs_attention": false,
      "score": 82.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "A",
      "id": "kochi-prefectural-ferry",
      "name": "Kochi Prefectural Ferry (\u9ad8\u77e5\u770c\u55b6\u6e21\u8239)",
      "needs_attention": false,
      "score": 96.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "non_ascii_or_non_printable_char"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "C",
      "id": "kochi-tobu-kotsu",
      "name": "Kochi Tobu Kotsu (\u9ad8\u77e5\u6771\u90e8\u4ea4\u901a)",
      "needs_attention": false,
      "score": 78.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "koga-city-bus",
      "name": "Koga City Bus (\u53e4\u8cc0\u5e02\u300c\u30b3\u30ac\u30d0\u30b9\u300d)",
      "needs_attention": false,
      "score": 80.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "koka-city-bus",
      "name": "Koka City Community Bus (\u7532\u8cc0\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 69.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 156,
      "expiry_status": "current",
      "grade": "D",
      "id": "kolumbus-rogaland",
      "name": "Kolumbus",
      "needs_attention": false,
      "score": 61.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "shiga-konan-city-megurukun-bus",
      "name": "Konan City Megurukun Bus (\u6e56\u5357\u5e02\u30b3\u30df\u30d0\u30b9 \u3081\u3050\u308b\u304f\u3093)",
      "needs_attention": false,
      "score": 74.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "konan-railway",
      "name": "Konan Railway (\u5f18\u5357\u9244\u9053)",
      "needs_attention": false,
      "score": 69.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 331,
      "expiry_status": "current",
      "grade": "F",
      "id": "konectbus-norfolk",
      "name": "Konectbus",
      "needs_attention": false,
      "score": 57.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 149,
      "expiry_status": "current",
      "grade": "B",
      "id": "koryo-kotsu",
      "name": "Koryo Kotsu (\u9ad8\u77e5\u9ad8\u9675\u4ea4\u901a)",
      "needs_attention": false,
      "score": 80.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 179,
      "expiry_status": "current",
      "grade": "C",
      "id": "kozushima-village-bus",
      "name": "Kozushima Village Bus (\u795e\u6d25\u5cf6\u6751\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 79.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "kreisverkehr-schwaebisch-hall",
      "name": "Kreisverkehr Schw\u00e4bisch-Hall",
      "needs_attention": false,
      "score": 45.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1977,
      "expiry_status": "current",
      "grade": "D",
      "id": "kretinga-public-transport",
      "name": "Kretinga public transport",
      "needs_attention": false,
      "score": 60.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "kumagaya-yuyu-bus",
      "name": "Kumagaya City Yuyu Bus (\u718a\u8c37\u5e02\u3086\u3046\u3086\u3046\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 93,
      "expiry_status": "current",
      "grade": "D",
      "id": "kumamoto-bus",
      "name": "Kumamoto Bus (\u718a\u672c\u30d0\u30b9)",
      "needs_attention": false,
      "score": 67.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kumamoto-city-tram",
      "name": "Kumamoto City Tram (\u718a\u672c\u5e02\u96fb)",
      "needs_attention": false,
      "score": 78.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 93,
      "expiry_status": "current",
      "grade": "C",
      "id": "kumamoto-dentetsu-bus",
      "name": "Kumamoto Dentetsu Bus (\u718a\u672c\u96fb\u9244\u30d0\u30b9)",
      "needs_attention": false,
      "score": 72.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 148,
      "expiry_status": "current",
      "grade": "B",
      "id": "kumamoto-dentetsu-rail",
      "name": "Kumamoto Electric Railway (\u718a\u672c\u96fb\u9244)",
      "needs_attention": false,
      "score": 83.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 93,
      "expiry_status": "current",
      "grade": "D",
      "id": "kumamoto-toshi-bus",
      "name": "Kumamoto Toshi Bus (\u718a\u672c\u90fd\u5e02\u30d0\u30b9)",
      "needs_attention": false,
      "score": 63.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "D",
      "id": "kupiskis-public-transport",
      "name": "Kupi\u0161kis public transport",
      "needs_attention": false,
      "score": 63.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "kuroishi-platto-go",
      "name": "Kuroishi City Platto-go (\u9ed2\u77f3\u5e02\u300c\u3077\u3089\u3063\u3068\u53f7\u300d)",
      "needs_attention": false,
      "score": 69.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 144,
      "expiry_status": "current",
      "grade": "B",
      "id": "kuroiwa-kanko",
      "name": "Kuroiwa Kanko (\u9ed2\u5ca9\u89b3\u5149)",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 363,
      "expiry_status": "current",
      "grade": "C",
      "id": "kusakaru-kotsu",
      "name": "Kusakaru Kotsu (\u8349\u8efd\u4ea4\u901a)",
      "needs_attention": false,
      "score": 73.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kusatsu-mame-bus",
      "name": "Kusatsu City Mame Bus (\u8349\u6d25\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u307e\u3081\u30d0\u30b9\u300d)",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kusu-town-community-bus",
      "name": "Kusu Town Community Bus (\u7396\u73e0\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "C",
      "id": "kuwana-city-k-bus",
      "name": "Kuwana City Community Bus K-Bus (\u6851\u540d\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\uff2b\uff0d\u30d0\u30b9\u300d)",
      "needs_attention": false,
      "score": 76.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "kyivpastrans",
      "name": "Kyivpastrans",
      "needs_attention": false,
      "score": 58.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "D",
      "id": "kedainiai-public-transport",
      "name": "K\u0117dainiai public transport",
      "needs_attention": false,
      "score": 66.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "la-junta-transit",
      "name": "La Junta Transit Flex",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "los-angeles-department-of-transportation-ladot-dash-commuter-express",
      "name": "LADOT (DASH and Commuter Express)",
      "needs_attention": false,
      "score": 57.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 143,
      "expiry_status": "current",
      "grade": "B",
      "id": "laguna-beach-transit-lbt",
      "name": "Laguna Beach Transit (LBT)",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "expiry_status": "current",
      "grade": "C",
      "id": "lake-champlain-ferries",
      "name": "Lake Champlain Ferries",
      "needs_attention": false,
      "score": 76.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "lake-county-senior-center-transportation-program",
      "name": "Lake County Senior Center Transportation Program Flex",
      "needs_attention": false,
      "score": 78.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "lake-transit",
      "name": "Lake Transit Authority (LTA)",
      "needs_attention": false,
      "score": 79.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1001,
      "expiry_status": "current",
      "grade": "D",
      "id": "lakes-region-explorer",
      "name": "Lakes Region Explorer",
      "needs_attention": false,
      "score": 62.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "lakewood-rides",
      "name": "Lakewood Rides Flex",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "D",
      "id": "lpt-larnaka",
      "name": "Larnaka Public Transport (LPT)",
      "needs_attention": false,
      "score": 63.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "B",
      "id": "lassen-rural-bus-lrb",
      "name": "Lassen Rural Bus (LRB)",
      "needs_attention": false,
      "score": 80.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "lawndale-beat",
      "name": "Lawndale Beat",
      "needs_attention": false,
      "score": 82.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8917,
      "expiry_status": "current",
      "grade": "C",
      "id": "lazdijai-public-transport",
      "name": "Lazdijai public transport",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 108,
      "expiry_status": "current",
      "grade": "D",
      "id": "leetran",
      "name": "LeeTran",
      "needs_attention": false,
      "score": 66.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "leprechaun-lines",
      "name": "Leprechaun Lines",
      "needs_attention": false,
      "score": 70.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "lethbridge-transit",
      "name": "Lethbridge Transit",
      "needs_attention": false,
      "score": 82.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 333,
      "expiry_status": "current",
      "grade": "F",
      "id": "lewis-county-public-transportation",
      "name": "Lewis County Public Transportation",
      "needs_attention": false,
      "score": 48.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "lewiston-transit-system-and-asotin-county-public-transportation-benefit-area-ptba",
      "name": "Lewiston Transit System and Asotin County Public Transportation Benefit Area (PTBA)",
      "needs_attention": false,
      "score": 79.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "maryland-transit-administration-469",
      "name": "Light Rail",
      "needs_attention": false,
      "score": 70.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1306,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-84096",
      "name": "Ligne de covoiturage Pays Nantais",
      "needs_attention": false,
      "score": 72.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81617",
      "name": "Lignes de covoiturage M covoit' Lignes+",
      "needs_attention": false,
      "score": 61.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'decreasing_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "decreasing_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "limon-bus",
      "name": "Limon Bus (\u795e\u59eb\u89b3\u5149)",
      "needs_attention": false,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "link-lane",
      "name": "Link Lane",
      "needs_attention": false,
      "score": 84.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 155,
      "expiry_status": "current",
      "grade": "C",
      "id": "link-transit",
      "name": "Link Transit",
      "needs_attention": false,
      "score": 78.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "linn-shuttle",
      "name": "Linn Shuttle",
      "needs_attention": false,
      "score": 77.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 313,
      "expiry_status": "current",
      "grade": "C",
      "id": "linx-transit-linn-benton-loop-albany-transit-system",
      "name": "LINX Transit, Linn-Benton Loop, Albany Transit System",
      "needs_attention": false,
      "score": 78.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1283,
      "expiry_status": "current",
      "grade": "C",
      "id": "rochester-transit-service",
      "name": "Livingston County",
      "needs_attention": false,
      "score": 76.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 84,
      "expiry_status": "current",
      "grade": "C",
      "id": "metro-st-louis-2035",
      "name": "Loop Trolley",
      "needs_attention": false,
      "score": 77.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "los-angeles-county-department-of-public-works-the-link-and-shuttles",
      "name": "Los Angeles County Department of Public Works (the LINK and shuttles)",
      "needs_attention": false,
      "score": 85.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "C",
      "id": "los-angeles-county-metropolitan-transportation-authority-la-metro",
      "name": "Los Angeles County Metropolitan Transportation Authority (LA Metro) Bus",
      "needs_attention": false,
      "score": 72.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 237,
      "expiry_status": "current",
      "grade": "C",
      "id": "loudoun-county-transit",
      "name": "Loudoun County Transit",
      "needs_attention": false,
      "score": 73.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "lowell-regional-transit-authority-lrta",
      "name": "Lowell Regional Transit Authority (LRTA)",
      "needs_attention": false,
      "score": 78.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 330,
      "expiry_status": "current",
      "grade": "D",
      "id": "lower-hudson-valley-transit",
      "name": "Lower Hudson Valley Transit",
      "needs_attention": false,
      "score": 68.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 130,
      "expiry_status": "current",
      "grade": "C",
      "id": "luas",
      "name": "Luas (Dublin light rail)",
      "needs_attention": false,
      "score": 78.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 361,
      "expiry_status": "current",
      "grade": "D",
      "id": "lvivavtodor",
      "name": "Lvivavtodor",
      "needs_attention": false,
      "score": 66.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "madera-county-transit",
      "name": "Madera County Transit",
      "needs_attention": false,
      "score": 87.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 194,
      "expiry_status": "current",
      "grade": "D",
      "id": "madison-county-transit",
      "name": "Madison County Transit",
      "needs_attention": false,
      "score": 63.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "makah-public-transit-2196",
      "name": "Makah Public Transit",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 306,
      "expiry_status": "current",
      "grade": "C",
      "id": "manatee-county-area-transit-2258",
      "name": "Manatee County Area Transit",
      "needs_attention": false,
      "score": 74.3,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "maniwa-city-maniwakun",
      "name": "Maniwa City Community Bus Maniwa-kun (\u771f\u5ead\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u307e\u306b\u308f\u304f\u3093\u300d)",
      "needs_attention": false,
      "score": 81.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "manteca-transit",
      "name": "Manteca Transit",
      "needs_attention": false,
      "score": 79.6,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "D",
      "id": "manyosen",
      "name": "Manyosen (\u4e07\u8449\u7dda)",
      "needs_attention": false,
      "score": 69.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_color' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_color"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "maryland-transit-administration-468",
      "name": "MARC Train",
      "needs_attention": false,
      "score": 60.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "tper-marconi-express",
      "name": "Marconi Express (TPER, Bologna)",
      "needs_attention": false,
      "score": 100.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": null,
      "top_fix_code": null
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "D",
      "id": "marijampole-public-transport",
      "name": "Marijampol\u0117 public transport",
      "needs_attention": false,
      "score": 69.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 335,
      "expiry_status": "current",
      "grade": "F",
      "id": "marineo-boulogne",
      "name": "Marin\u00e9o (Boulogne-sur-Mer)",
      "needs_attention": false,
      "score": 57.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 256,
      "expiry_status": "current",
      "grade": "A",
      "id": "mariposa-grove-shuttle",
      "name": "Mariposa Grove Shuttle (Yosemite National Park)",
      "needs_attention": false,
      "score": 97.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Delete the empty calendars or set their service days.",
      "top_fix_code": "service_has_no_active_day_of_the_week"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "marshalltown-municipal-transit",
      "name": "Marshalltown Municipal Transit",
      "needs_attention": false,
      "score": 85.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 62,
      "expiry_status": "current",
      "grade": "B",
      "id": "martha-s-vineyard-transit-authority",
      "name": "Martha's Vineyard Transit Authority",
      "needs_attention": false,
      "score": 83.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "mason-city-public-transit",
      "name": "Mason City Public Transit",
      "needs_attention": false,
      "score": 87.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "mass-transportation-authority-flint-2287",
      "name": "Mass Transportation Authority Flint",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "massachusetts-area-express-max",
      "name": "Massachusetts Area Express (MAX)",
      "needs_attention": false,
      "score": 31.3,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-30",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "masuda-city-noriai-taxi",
      "name": "Masuda City Shared Taxi (\u76ca\u7530\u5e02\u4e57\u5408\u30bf\u30af\u30b7\u30fc)",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "matsusaka-city-bus",
      "name": "Matsusaka City Community Transport (\u677e\u962a\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u4ea4\u901a)",
      "needs_attention": false,
      "score": 77.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "matsushige-town-bus",
      "name": "Matsushige Town Community Bus (\u677e\u8302\u753a\u5730\u57df\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "C",
      "id": "matthews-coach",
      "name": "Matthews Coach Hire",
      "needs_attention": false,
      "score": 77.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "maywood-express-shuttle",
      "name": "Maywood Express Shuttle",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "D",
      "id": "mazeikiai-public-transport",
      "name": "Ma\u017eeikiai public transport",
      "needs_attention": false,
      "score": 63.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 360,
      "expiry_status": "current",
      "grade": "F",
      "id": "mcgills-buses",
      "name": "McGill's Buses",
      "needs_attention": false,
      "score": 53.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 363,
      "expiry_status": "current",
      "grade": "B",
      "id": "mcgrath-coaches",
      "name": "McGrath Coaches",
      "needs_attention": false,
      "score": 82.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "D",
      "id": "megabus",
      "name": "Megabus",
      "needs_attention": false,
      "score": 68.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "meiko-bus",
      "name": "Meiko Bus (\u660e\u5149\u30d0\u30b9)",
      "needs_attention": false,
      "score": 70.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "meitetsu-kaijo-kanko-ferry",
      "name": "Meitetsu Kaijo Kanko Sen Ferry (\u540d\u9244\u6d77\u4e0a\u89b3\u5149\u8239)",
      "needs_attention": false,
      "score": 72.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "D",
      "id": "merced-county-transit-the-bus-3117",
      "name": "Merced County Transit (The Bus)",
      "needs_attention": false,
      "score": 65.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "metra",
      "name": "Metra",
      "needs_attention": false,
      "score": 34.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "metra-2854",
      "name": "Metra",
      "needs_attention": false,
      "score": 39.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "C",
      "id": "metro-ride",
      "name": "Metro Ride",
      "needs_attention": false,
      "score": 77.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "maryland-transit-administration-metro-subway",
      "name": "Metro SubwayLink",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1248,
      "expiry_status": "current",
      "grade": "B",
      "id": "metro-sul-do-tejo",
      "name": "Metro Sul do Tejo",
      "needs_attention": false,
      "score": 88.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 112,
      "expiry_status": "current",
      "grade": "C",
      "id": "metro-north-railroad",
      "name": "Metro-North Railroad",
      "needs_attention": false,
      "score": 74.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check with your AVL vendor that every vehicle assignment flows into TripUpdates, including school-day and tripper runs.",
      "top_fix_code": "scorecard_rt_trip_coverage"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 112,
      "expiry_status": "current",
      "grade": "C",
      "id": "mta",
      "name": "Metro-North Railroad",
      "needs_attention": false,
      "score": 78.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "metrolink",
      "name": "Metrolink",
      "needs_attention": false,
      "score": 84.3,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "metropolitan-transit-authority-of-black-hawk-county-2414",
      "name": "Metropolitan Transit Authority of Black Hawk County",
      "needs_attention": false,
      "score": 81.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "metro-lisboa",
      "name": "Metropolitano de Lisboa",
      "needs_attention": false,
      "score": 85.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 87,
      "expiry_status": "current",
      "grade": "C",
      "id": "metrowest-regional-transit-authority-mwrta",
      "name": "MetroWest Regional Transit Authority (MWRTA)",
      "needs_attention": false,
      "score": 71.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "miami-dade-transit",
      "name": "Miami-Dade Transit",
      "needs_attention": false,
      "score": 57.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "mibu-town-community-bus",
      "name": "Mibu Town Community Bus (\u58ec\u751f\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9 \u307f\u3076\u30fc\u3076)",
      "needs_attention": false,
      "score": 75.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "middlesex-3-tma",
      "name": "Middlesex 3 TMA",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 298,
      "expiry_status": "current",
      "grade": "C",
      "id": "middletown-area-transit-mat",
      "name": "Middletown Area Transit (MAT)",
      "needs_attention": false,
      "score": 77.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 405,
      "expiry_status": "current",
      "grade": "D",
      "id": "midland-bluebird",
      "name": "Midland Bluebird",
      "needs_attention": false,
      "score": 65.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 92,
      "expiry_status": "current",
      "grade": "C",
      "id": "mie-kotsu-iga",
      "name": "Mie Kotsu Iga (\u4e09\u91cd\u4ea4\u901a \u4f0a\u8cc0\u55b6\u696d\u6240)",
      "needs_attention": false,
      "score": 79.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 92,
      "expiry_status": "current",
      "grade": "C",
      "id": "mie-kotsu-ise",
      "name": "Mie Kotsu Ise (\u4e09\u91cd\u4ea4\u901a \u4f0a\u52e2\u55b6\u696d\u6240)",
      "needs_attention": false,
      "score": 77.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 92,
      "expiry_status": "current",
      "grade": "C",
      "id": "mie-kotsu-kuwana",
      "name": "Mie Kotsu Kuwana (\u4e09\u91cd\u4ea4\u901a \u6851\u540d\u55b6\u696d\u6240)",
      "needs_attention": false,
      "score": 75.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 92,
      "expiry_status": "current",
      "grade": "B",
      "id": "mie-kotsu-matsusaka",
      "name": "Mie Kotsu Matsusaka (\u4e09\u91cd\u4ea4\u901a \u677e\u962a\u55b6\u696d\u6240)",
      "needs_attention": false,
      "score": 80.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 92,
      "expiry_status": "current",
      "grade": "C",
      "id": "mie-kotsu-shima",
      "name": "Mie Kotsu Shima (\u4e09\u91cd\u4ea4\u901a \u5fd7\u6469\u5730\u57df)",
      "needs_attention": false,
      "score": 72.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 92,
      "expiry_status": "current",
      "grade": "C",
      "id": "mie-kotsu-yokkaichi",
      "name": "Mie Kotsu Yokkaichi (\u4e09\u91cd\u4ea4\u901a \u56db\u65e5\u5e02\u55b6\u696d\u6240)",
      "needs_attention": false,
      "score": 79.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 125,
      "expiry_status": "current",
      "grade": "C",
      "id": "milwaukee-county-transit-system-mcts-2127",
      "name": "Milwaukee County Transit System (MCTS)",
      "needs_attention": false,
      "score": 70.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "minamiawaji-ranran-bus",
      "name": "Minami-Awaji City Ran-Ran Bus (\u5357\u3042\u308f\u3058\u5e02\u3089\u3093\u30fb\u3089\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 71.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "misawa-city-me-bus",
      "name": "Misawa City Community Bus Me-Bus (\u4e09\u6ca2\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u307f\u30fc\u3070\u3059\u300d)",
      "needs_attention": false,
      "score": 71.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_phone_number' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_phone_number"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 163,
      "expiry_status": "current",
      "grade": "B",
      "id": "mission-bay-transportation-management-association-tma",
      "name": "Mission Bay Transportation Management Association (TMA)",
      "needs_attention": false,
      "score": 83.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "mitoyo-city-community-bus",
      "name": "Mitoyo City Community Bus (\u4e09\u8c4a\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "mdv-mitteldeutscher",
      "name": "Mitteldeutscher Verkehrsverbund (MDV)",
      "needs_attention": false,
      "score": 64.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "miyama-city-community-bus",
      "name": "Miyama City Community Bus (\u307f\u3084\u307e\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 82.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "miyoshi-city-tokushima-bus",
      "name": "Miyoshi City Bus (\u4e09\u597d\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 71.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "mobigo-cote-dor",
      "name": "Mobigo interurbain (C\u00f4te-d'Or)",
      "needs_attention": false,
      "score": 38.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "mogamigawa-kotsu",
      "name": "Mogamigawa Kotsu (\u6700\u4e0a\u5ddd\u4ea4\u901a)",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "D",
      "id": "moletai-public-transport",
      "name": "Mol\u0117tai public transport",
      "needs_attention": false,
      "score": 64.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "montgomery-transit",
      "name": "Montgomery Transit",
      "needs_attention": false,
      "score": 78.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "C",
      "id": "morongo-basin-transit-authority",
      "name": "Morongo Basin Transit Authority",
      "needs_attention": false,
      "score": 77.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "morrow-county-public-transit",
      "name": "Morrow County Public Transit",
      "needs_attention": false,
      "score": 71.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "motomiya-city-community-bus",
      "name": "Motomiya City Community Bus (\u672c\u5bae\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "mount-adams-transportation-service",
      "name": "Mount Adams Transportation Service",
      "needs_attention": false,
      "score": 82.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "mountain-express",
      "name": "Mountain Express Flex",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "mountain-family-center",
      "name": "Mountain Family Center Flex",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 197,
      "expiry_status": "current",
      "grade": "C",
      "id": "mountain-line",
      "name": "Mountain Line",
      "needs_attention": false,
      "score": 78.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "D",
      "id": "mountain-line-transit",
      "name": "Mountain Line Transit",
      "needs_attention": false,
      "score": 66.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "mountain-line-transit-authority",
      "name": "Mountain Line Transit Authority",
      "needs_attention": false,
      "score": 85.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the flagged fields and fill in the ones your riders would use.",
      "top_fix_code": "missing_recommended_field"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "mountain-lynx-transit",
      "name": "Mountain Lynx Transit",
      "needs_attention": false,
      "score": 82.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "mountain-metro-transit",
      "name": "Mountain Metro Transit Flex",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "mountain-transit",
      "name": "Mountain Transit",
      "needs_attention": false,
      "score": 80.6,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 266,
      "expiry_status": "current",
      "grade": "B",
      "id": "mountain-view-community-shuttle",
      "name": "Mountain View Community Shuttle",
      "needs_attention": false,
      "score": 84.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "mountain-view-transportation-management-association-mvgo-2025",
      "name": "Mountain View Transportation Management Association (MVgo)",
      "needs_attention": false,
      "score": 89.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "mountain-view-transportation-management-association-mvgo-2880",
      "name": "Mountain View Transportation Management Association (MVgo)",
      "needs_attention": false,
      "score": 87.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "munakata-city-community-bus",
      "name": "Munakata City Community Bus (\u5b97\u50cf\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 79.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "tirana-municipal-transit",
      "name": "Municipality of Tirana",
      "needs_attention": false,
      "score": 77.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "muscabus",
      "name": "MuscaBus",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1094,
      "expiry_status": "current",
      "grade": "F",
      "id": "mwasalat-oman",
      "name": "Mwasalat (Oman National Transport Company)",
      "needs_attention": false,
      "score": 59.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kochi-kanko-convention-gtfs-kvca-my-yubus",
      "name": "MY\u904a\u30d0\u30b9 (\u516c\u76ca\u8ca1\u56e3\u6cd5\u4eba\u9ad8\u77e5\u770c\u89b3\u5149\u30b3\u30f3\u30d9\u30f3\u30b7\u30e7\u30f3\u5354\u4f1a)",
      "needs_attention": false,
      "score": 77.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "F",
      "id": "mav-regional-bus-hungary",
      "name": "M\u00c1V Szem\u00e9lysz\u00e1ll\u00edt\u00e1s (Hungary regional bus)",
      "needs_attention": false,
      "score": 37.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "aix-marseille-provence",
      "name": "M\u00e9tropole Aix-Marseille-Provence networks",
      "needs_attention": false,
      "score": 39.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "mvg-munich",
      "name": "M\u00fcnchner Verkehrsgesellschaft (MVG)",
      "needs_attention": false,
      "score": 54.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "nabari-city-community-bus",
      "name": "Nabari City Community Bus (\u540d\u5f35\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 67.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "nagahama-nishiazai-wagon",
      "name": "Nagahama City Nishiazai Odekake Wagon (\u9577\u6d5c\u5e02\u897f\u6d45\u4e95\u304a\u3067\u304b\u3051\u30ef\u30b4\u30f3)",
      "needs_attention": false,
      "score": 67.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "nagai-bus",
      "name": "Nagai Bus (\u6c38\u4e95\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nagakute-city-n-bus",
      "name": "Nagakute City N-Bus (\u9577\u4e45\u624b\u5e02N-\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nagano-city-bus",
      "name": "Nagano City Bus and Shared Taxi (\u9577\u91ce\u5e02\u55b6\u30d0\u30b9\u30fb\u4e57\u5408\u30bf\u30af\u30b7\u30fc)",
      "needs_attention": false,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 161,
      "expiry_status": "current",
      "grade": "C",
      "id": "nagareyama-green-bus",
      "name": "Nagareyama Green Bus (\u6d41\u5c71\u3050\u308a\u30fc\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 211,
      "expiry_status": "current",
      "grade": "C",
      "id": "nagi-town-bus",
      "name": "Nagi Town Bus (\u306a\u304e\u30d0\u30b9)",
      "needs_attention": false,
      "score": 77.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "naka-town-bus",
      "name": "Naka Town Bus (\u90a3\u8cc0\u753a\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 424,
      "expiry_status": "current",
      "grade": "C",
      "id": "nakatsugawa-city-community-bus",
      "name": "Nakatsugawa City Community Bus (\u4e2d\u6d25\u5ddd\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "naldo-verkehrsverbund",
      "name": "naldo (Verkehrsverbund Neckar-Alb-Donau)",
      "needs_attention": false,
      "score": 55.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 207,
      "expiry_status": "current",
      "grade": "C",
      "id": "namegata-city-bus",
      "name": "Namegata City Bus (\u884c\u65b9\u5e02\u55b6\u8def\u7dda\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "nanto-city-bus",
      "name": "Nanto City Bus (\u5357\u783a\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 62.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nanyo-city-bus",
      "name": "Nanyo City Bus (\u5357\u967d\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "C",
      "id": "naoshima-town-bus",
      "name": "Naoshima Town Bus (\u76f4\u5cf6\u753a\u753a\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 77.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "B",
      "id": "narita-community-bus",
      "name": "Narita City Community Bus (\u6210\u7530\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 247,
      "expiry_status": "current",
      "grade": "C",
      "id": "naruto-city-ferry",
      "name": "Naruto City Ferry (\u9cf4\u9580\u5e02\u55b6\u6e21\u8239)",
      "needs_attention": false,
      "score": 72.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 153,
      "expiry_status": "current",
      "grade": "C",
      "id": "nashville-mta-wego-public-transit",
      "name": "Nashville MTA WeGo Public Transit",
      "needs_attention": false,
      "score": 71.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nasu-town-community-bus",
      "name": "Nasu Town Community Bus (\u90a3\u9808\u753a\u753a\u6c11\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nasushiobara-community-bus",
      "name": "Nasushiobara City Community Bus (\u90a3\u9808\u5869\u539f\u5e02\u5730\u57df\u30d0\u30b9)",
      "needs_attention": false,
      "score": 77.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "A",
      "id": "navajo-transit-system-2346",
      "name": "Navajo Transit System",
      "needs_attention": false,
      "score": 90.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-81177",
      "name": "Navette estivale SNGO! Giverny Vernon - Gare SNCF",
      "needs_attention": false,
      "score": 71.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-navette-pontorson-le-mont-saint-michel",
      "name": "Navette Pontorson \u2013 Le Mont-Saint-Michel",
      "needs_attention": false,
      "score": 64.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83405",
      "name": "Navettes A\u00e9roport de Lille",
      "needs_attention": false,
      "score": 73.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-uba",
      "name": "Navettes maritimes - UBA",
      "needs_attention": false,
      "score": 65.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 124,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83626",
      "name": "Navettes saisonni\u00e8res Bourg-Saint-Maurice",
      "needs_attention": false,
      "score": 56.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 333,
      "expiry_status": "current",
      "grade": "B",
      "id": "needles-area-transit",
      "name": "Needles Area Transit",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 296,
      "expiry_status": "current",
      "grade": "B",
      "id": "nemuro-kotsu",
      "name": "Nemuro Kotsu (\u6839\u5ba4\u4ea4\u901a)",
      "needs_attention": false,
      "score": 80.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "neobus-ouest-vosgien",
      "name": "Neobus (Ouest Vosgien)",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1520,
      "expiry_status": "current",
      "grade": "D",
      "id": "neringa-public-transport",
      "name": "Neringa public transport",
      "needs_attention": false,
      "score": 67.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 175,
      "expiry_status": "current",
      "grade": "F",
      "id": "new-jersey-transit-nj-transit",
      "name": "New Jersey Transit (NJ Transit) Bus",
      "needs_attention": false,
      "score": 39.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 175,
      "expiry_status": "current",
      "grade": "F",
      "id": "new-jersey-transit-nj-transit-509",
      "name": "New Jersey Transit (NJ Transit) Rail",
      "needs_attention": false,
      "score": 44.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "F",
      "id": "newport-bus",
      "name": "Newport Bus (Bws Casnewydd)",
      "needs_attention": false,
      "score": 54.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "F",
      "id": "npt-lefkosia",
      "name": "Nicosia Public Transport (NPT)",
      "needs_attention": false,
      "score": 54.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 331,
      "expiry_status": "current",
      "grade": "C",
      "id": "niimi-city-bus",
      "name": "Niimi City Bus (\u65b0\u898b\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "nikko-city-bus",
      "name": "Nikko City Bus (\u65e5\u5149\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 70.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'missing_required_field' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "missing_required_field"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "ninomiya-town-community-bus",
      "name": "Ninomiya Town Community Bus (\u4e8c\u5bae\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 147,
      "expiry_status": "current",
      "grade": "C",
      "id": "dublin-bus-nitelink",
      "name": "Nitelink (Dublin Bus)",
      "needs_attention": false,
      "score": 77.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "nogata-city-community-bus",
      "name": "Nogata City Community Bus (\u76f4\u65b9\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 83.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nonoichi-city-community-bus",
      "name": "Nonoichi City Community Bus (\u91ce\u3005\u5e02\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 80,
      "expiry_status": "current",
      "grade": "F",
      "id": "norway-bussekspress",
      "name": "NOR-WAY Bussekspress",
      "needs_attention": false,
      "score": 59.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "D",
      "id": "north-country-express-transit",
      "name": "North Country Express Transit",
      "needs_attention": false,
      "score": 61.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 92,
      "expiry_status": "current",
      "grade": "F",
      "id": "north-county-transit-district-nctd",
      "name": "North County Transit District (NCTD)",
      "needs_attention": false,
      "score": 42.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 92,
      "expiry_status": "current",
      "grade": "F",
      "id": "north-county-transit-district-nctd-3093",
      "name": "North County Transit District (NCTD)",
      "needs_attention": false,
      "score": 42.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 188,
      "expiry_status": "current",
      "grade": "D",
      "id": "nt-alice-springs-bus",
      "name": "Northern Territory Public Transport (Alice Springs)",
      "needs_attention": false,
      "score": 62.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "F",
      "id": "nt-darwin-bus",
      "name": "Northern Territory Public Transport (Darwin)",
      "needs_attention": false,
      "score": 57.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1372,
      "expiry_status": "current",
      "grade": "C",
      "id": "norwalk-transit-system-nts-2242",
      "name": "Norwalk Transit System (NTS)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 83,
      "expiry_status": "current",
      "grade": "F",
      "id": "nottingham-city-transport",
      "name": "Nottingham City Transport",
      "needs_attention": false,
      "score": 55.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "ny-waterway-3192",
      "name": "NY Waterway",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "nyc-ferry",
      "name": "NYC Ferry",
      "needs_attention": false,
      "score": 88.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nyuzen-noran-my-car",
      "name": "Nyuzen Noran My Car (\u5165\u5584\u753a \u306e\u3089\u3093\u30de\u30a4\u30fb\u30ab\u30fc)",
      "needs_attention": false,
      "score": 71.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 65,
      "expiry_status": "current",
      "grade": "F",
      "id": "oasa-athens-road",
      "name": "OASA Athens road transport (buses and trolleybuses)",
      "needs_attention": false,
      "score": 55.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "ogaki-meihan-kintetsu-bus",
      "name": "Ogaki City Bus (Meihan Kintetsu) (\u5927\u57a3\u5e02 \u540d\u962a\u8fd1\u9244\u30d0\u30b9)",
      "needs_attention": false,
      "score": 66.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 192,
      "expiry_status": "current",
      "grade": "C",
      "id": "ogasawara-village-bus",
      "name": "Ogasawara Village Bus (\u5c0f\u7b20\u539f\u6751\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "oizumi-town-aozora-bus",
      "name": "Oizumi Town Aozora Bus (\u5927\u6cc9\u753a\u5e83\u57df\u516c\u5171\u30d0\u30b9\u300c\u3042\u304a\u305e\u3089\u300d)",
      "needs_attention": false,
      "score": 74.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 243,
      "expiry_status": "current",
      "grade": "D",
      "id": "olean-area-transit-system",
      "name": "Olean Area Transit System",
      "needs_attention": false,
      "score": 62.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 111,
      "expiry_status": "current",
      "grade": "C",
      "id": "omaha-metro-2261",
      "name": "Omaha Metro",
      "needs_attention": false,
      "score": 72.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "C",
      "id": "omihachiman-akakon-bus",
      "name": "Omihachiman City Akakon Bus (\u8fd1\u6c5f\u516b\u5e61\u5e02\u3042\u304b\u3053\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "omnibus",
      "name": "Omnibus Flex",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "ondea-aix-les-bains",
      "name": "Ond\u00e9a (Aix-les-Bains)",
      "needs_attention": false,
      "score": 51.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "ono-city-ranran-bus",
      "name": "Ono City Ran-Ran Bus (\u5c0f\u91ce\u5e02\u3089\u3093\u3089\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 70.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'location_with_unexpected_stop_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "location_with_unexpected_stop_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "orbus-otago",
      "name": "Orbus (Otago Regional Council)",
      "needs_attention": false,
      "score": 58.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 77,
      "expiry_status": "current",
      "grade": "F",
      "id": "orizo-grand-avignon",
      "name": "Orizo (Grand Avignon)",
      "needs_attention": false,
      "score": 53.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "oshu-city-bus",
      "name": "Oshu City Community Bus (\u5965\u5dde\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "ostalbmobil",
      "name": "OstalbMobil",
      "needs_attention": false,
      "score": 50.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 306,
      "expiry_status": "current",
      "grade": "C",
      "id": "ota-city-bus",
      "name": "Ota City Bus (\u592a\u7530\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "otama-village-bus",
      "name": "Otama Village Commuter Bus (\u5927\u7389\u6751\u901a\u52e4\u901a\u5b66\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "otawara-city-bus",
      "name": "Otawara City Bus (\u5927\u7530\u539f\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 249,
      "expiry_status": "current",
      "grade": "B",
      "id": "otone-kotsu",
      "name": "Otone Kotsu (\u5927\u5229\u6839\u4ea4\u901a)",
      "needs_attention": false,
      "score": 85.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "otp-thailand-namtang",
      "name": "OTP Thailand (Namtang)",
      "needs_attention": false,
      "score": 56.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'number_out_of_range' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "number_out_of_range"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 272,
      "expiry_status": "current",
      "grade": "C",
      "id": "outback-express",
      "name": "Outback Express Flex",
      "needs_attention": false,
      "score": 72.9,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "ovapi-netherlands",
      "name": "OVapi Netherlands national aggregate",
      "needs_attention": false,
      "score": 39.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 718,
      "expiry_status": "current",
      "grade": "F",
      "id": "oxford-bus-company",
      "name": "Oxford Bus Company",
      "needs_attention": false,
      "score": 33.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "oyabe-city-bus",
      "name": "Oyabe City Bus (\u5c0f\u77e2\u90e8\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 78.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "pacific-transit",
      "name": "Pacific Transit",
      "needs_attention": false,
      "score": 83.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "pacific-transit-3112",
      "name": "Pacific Transit",
      "needs_attention": false,
      "score": 83.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "pahto-public-passage",
      "name": "Pahto Public Passage",
      "needs_attention": false,
      "score": 79.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 4047,
      "expiry_status": "current",
      "grade": "D",
      "id": "pakruojis-public-transport",
      "name": "Pakruojis public transport",
      "needs_attention": false,
      "score": 62.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "palanga-city-public-transport",
      "name": "Palanga city public transport",
      "needs_attention": false,
      "score": 72.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "C",
      "id": "palmbus-cannes",
      "name": "Palmbus (Cannes)",
      "needs_attention": false,
      "score": 77.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "palo-verde-valley-transit-agency-2190",
      "name": "Palo Verde Valley Transit Agency",
      "needs_attention": false,
      "score": 81.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "D",
      "id": "palos-verdes-peninsula-transit-authority-pvpta",
      "name": "Palos Verdes Peninsula Transit Authority (PVPTA)",
      "needs_attention": false,
      "score": 62.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 89,
      "expiry_status": "current",
      "grade": "D",
      "id": "pame-express-lefkosia",
      "name": "PAME Express (Lefkosia)",
      "needs_attention": false,
      "score": 67.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 333,
      "expiry_status": "current",
      "grade": "D",
      "id": "panevezys-city-public-transport",
      "name": "Panev\u0117\u017eys city public transport",
      "needs_attention": false,
      "score": 69.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "paratransit-services",
      "name": "Paratransit Services",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "part-putnam-area-rapid-transit",
      "name": "PART Putnam Area Rapid Transit",
      "needs_attention": false,
      "score": 65.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "pasadena-transit",
      "name": "Pasadena Transit",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "C",
      "id": "pasazieru-vilciens-vivi",
      "name": "Pasa\u017eieru vilciens (Vivi)",
      "needs_attention": false,
      "score": 70.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 123,
      "expiry_status": "current",
      "grade": "D",
      "id": "pastel-saint-quentin",
      "name": "Pastel (Saint-Quentin)",
      "needs_attention": false,
      "score": 66.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "patco-speedline-3035",
      "name": "PATCO Speedline",
      "needs_attention": false,
      "score": 100.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": null,
      "top_fix_code": null
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "A",
      "id": "gulf-islands-national-seashore",
      "name": "Pensacola Bay City Ferry",
      "needs_attention": false,
      "score": 96.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the flagged terminals' coordinates and the route shape in your scheduling software; re-snap whichever is misplaced.",
      "top_fix_code": "stop_too_far_from_shape"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "B",
      "id": "people-for-people-community-connector",
      "name": "People for People (Community Connector)",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "people-mover",
      "name": "People Mover",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "petersburg-area-transit",
      "name": "Petersburg Area Transit",
      "needs_attention": false,
      "score": 74.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "D",
      "id": "petersburg-area-transit-2441",
      "name": "Petersburg Area Transit Flex",
      "needs_attention": false,
      "score": 61.8,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 307,
      "expiry_status": "current",
      "grade": "A",
      "id": "phlash",
      "name": "Philly PHLASH",
      "needs_attention": false,
      "score": 90.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "philomath-connection-2205",
      "name": "Philomath Connection",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "piedmont-authority-for-regional-transportation-part",
      "name": "Piedmont Authority for Regional Transportation (PART)",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 3438,
      "expiry_status": "current",
      "grade": "D",
      "id": "plunge-public-transport",
      "name": "Plung\u0117 public transport",
      "needs_attention": false,
      "score": 69.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 358,
      "expiry_status": "current",
      "grade": "F",
      "id": "plymouth-citybus",
      "name": "Plymouth Citybus",
      "needs_attention": false,
      "score": 52.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 180,
      "expiry_status": "current",
      "grade": "C",
      "id": "plzen-pmdp",
      "name": "Plze\u0148sk\u00e9 m\u011bstsk\u00e9 dopravn\u00ed podniky, a.s. (PMDP)",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "pocatello-regional-transit",
      "name": "Pocatello Regional Transit",
      "needs_attention": false,
      "score": 94.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "pony-express",
      "name": "Pony Express",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 73,
      "expiry_status": "current",
      "grade": "C",
      "id": "port-authority-of-allegheny-county",
      "name": "Port Authority of Allegheny County",
      "needs_attention": false,
      "score": 73.4,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "prairie-express-transit",
      "name": "Prairie Express Transit",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "prienai-public-transport",
      "name": "Prienai public transport",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 211,
      "expiry_status": "current",
      "grade": "C",
      "id": "prince-george-s-county-the-bus",
      "name": "Prince George's County (The Bus)",
      "needs_attention": false,
      "score": 74.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82872",
      "name": "Programme des vols Finist'Air",
      "needs_attention": false,
      "score": 74.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_row_length' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_row_length"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "prowers-area-transit",
      "name": "Prowers Area Transit Flex",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 211,
      "expiry_status": "current",
      "grade": "B",
      "id": "pueblo-transit-2232",
      "name": "Pueblo Transit",
      "needs_attention": false,
      "score": 80.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 211,
      "expiry_status": "current",
      "grade": "C",
      "id": "pueblo-transit",
      "name": "Pueblo Transit Flex",
      "needs_attention": false,
      "score": 76.9,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 89,
      "expiry_status": "current",
      "grade": "B",
      "id": "puente-bizkaia",
      "name": "Puente Bizkaia (El Transbordador de Vizcaya)",
      "needs_attention": false,
      "score": 87.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 272,
      "expiry_status": "current",
      "grade": "C",
      "id": "puget-sound-educational-service-district",
      "name": "Puget Sound Educational Service District",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "radar",
      "name": "RADAR",
      "needs_attention": false,
      "score": 86.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "radar-2443",
      "name": "RADAR Flex",
      "needs_attention": false,
      "score": 75.9,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "radford-transit-2415",
      "name": "Radford Transit",
      "needs_attention": false,
      "score": 78.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 4899,
      "expiry_status": "current",
      "grade": "D",
      "id": "radviliskis-public-transport",
      "name": "Radvili\u0161kis public transport",
      "needs_attention": false,
      "score": 63.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "F",
      "id": "rapidkl-bus",
      "name": "Rapid KL (bus network)",
      "needs_attention": false,
      "score": 46.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "F",
      "id": "rapidkuantan-bus",
      "name": "Rapid Kuantan",
      "needs_attention": false,
      "score": 58.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "rapidkl-rail",
      "name": "Rapid Rail KL (LRT, MRT and monorail)",
      "needs_attention": false,
      "score": 59.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "D",
      "id": "raseiniai-public-transport",
      "name": "Raseiniai public transport",
      "needs_attention": false,
      "score": 63.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "red-redon",
      "name": "RED (Redon)",
      "needs_attention": false,
      "score": 82.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "B",
      "id": "red-apple-transit",
      "name": "Red Apple Transit",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "red-rose-transit-authority-rrta-2000",
      "name": "Red Rose Transit Authority (RRTA)",
      "needs_attention": false,
      "score": 71.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "redding-area-bus-authority-3031",
      "name": "Redding Area Bus Authority",
      "needs_attention": false,
      "score": 91.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape_dist_traveled on export so stop and shape distances use the same units.",
      "top_fix_code": "trip_distance_exceeds_shape_distance_below_threshold"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "devils-postpile-national-monument",
      "name": "Reds Meadow Shuttle",
      "needs_attention": false,
      "score": 85.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "rvf-freiburg",
      "name": "Regio-Verkehrsverbund Freiburg (RVF)",
      "needs_attention": false,
      "score": 41.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 210,
      "expiry_status": "current",
      "grade": "B",
      "id": "regional-transportation-agency-of-central-maryland-rta",
      "name": "Regional Transportation Agency of Central Maryland (RTA)",
      "needs_attention": false,
      "score": 81.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 384,
      "expiry_status": "current",
      "grade": "F",
      "id": "regional-transportation-commission-of-southern-nevada-rtc-2351",
      "name": "Regional Transportation Commission of Southern Nevada (RTC)",
      "needs_attention": false,
      "score": 44.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "core-calabria",
      "name": "Regione Calabria regional transport (CORE)",
      "needs_attention": false,
      "score": 32.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 147,
      "expiry_status": "current",
      "grade": "B",
      "id": "reihoku-kanko-jidosha",
      "name": "Reihoku Kanko Jidosha (\u5dba\u5317\u89b3\u5149\u81ea\u52d5\u8eca)",
      "needs_attention": false,
      "score": 80.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "F",
      "id": "reis-nordland",
      "name": "Reis Nordland (Nordland fylkeskommune)",
      "needs_attention": false,
      "score": 57.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 80,
      "expiry_status": "current",
      "grade": "F",
      "id": "rejseplanen-denmark",
      "name": "Rejseplanen national timetable",
      "needs_attention": false,
      "score": 33.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_url"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "renfe-alta-larga-media",
      "name": "Renfe (Alta Velocidad, Larga y Media Distancia)",
      "needs_attention": false,
      "score": 35.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "renfe-cercanias-rodalies",
      "name": "Renfe Cercan\u00edas y Rodalies",
      "needs_attention": false,
      "score": 35.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "rensselaer-county-yankee-trails",
      "name": "Rensselaer County (Yankee Trails)",
      "needs_attention": false,
      "score": 74.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 282,
      "expiry_status": "current",
      "grade": "C",
      "id": "reus-transport",
      "name": "Reus Transport",
      "needs_attention": false,
      "score": 74.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "ride-connection",
      "name": "Ride Connection",
      "needs_attention": false,
      "score": 83.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "D",
      "id": "rietavas-public-transport",
      "name": "Rietavas public transport",
      "needs_attention": false,
      "score": 62.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "rio-de-janeiro-transportes",
      "name": "Rio de Janeiro municipal transport (SMTR)",
      "needs_attention": false,
      "score": 59.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "B",
      "id": "rivercities-transit-rct",
      "name": "RiverCities Transit (RCT)",
      "needs_attention": false,
      "score": 80.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "roadrunnertransit",
      "name": "RoadrunnerTransit",
      "needs_attention": false,
      "score": 72.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_timepoint_without_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_timepoint_without_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 79,
      "expiry_status": "current",
      "grade": "B",
      "id": "rocky-mountain-national-park",
      "name": "Rocky Mountain National Park Shuttles",
      "needs_attention": false,
      "score": 83.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 79,
      "expiry_status": "current",
      "grade": "B",
      "id": "rocky-mountain-national-park-shuttles",
      "name": "Rocky Mountain National Park Shuttles",
      "needs_attention": false,
      "score": 83.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 112,
      "expiry_status": "current",
      "grade": "C",
      "id": "rogue-valley-transportation-district-rvtd-3219",
      "name": "Rogue Valley Transportation District (RVTD)",
      "needs_attention": false,
      "score": 79.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "D",
      "id": "rokiskis-public-transport",
      "name": "Roki\u0161kis public transport",
      "needs_attention": false,
      "score": 67.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "A",
      "id": "roosevelt-island-operating-corporation-tramway-rioc-tramway",
      "name": "Roosevelt Island Operating Corporation Tramway (RIOC Tramway)",
      "needs_attention": false,
      "score": 92.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates_distance_below_threshold' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates_distance_below_threshold"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "roseville-transit",
      "name": "Roseville Transit",
      "needs_attention": false,
      "score": 67.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "routt-county-council-on-aging-rccoca-transportation",
      "name": "Routt County Council on Aging (RCCOCA) Transportation Flex",
      "needs_attention": false,
      "score": 77.6,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "rural-community-transportation-rct",
      "name": "Rural Community Transportation (RCT)",
      "needs_attention": false,
      "score": 83.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "C",
      "id": "rural-community-transportation-rct-2882",
      "name": "Rural Community Transportation (RCT)",
      "needs_attention": false,
      "score": 79.4,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 126,
      "expiry_status": "current",
      "grade": "D",
      "id": "ruter-oslo",
      "name": "Ruter",
      "needs_attention": false,
      "score": 61.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "ryde-racine-2246",
      "name": "Ryde Racine",
      "needs_attention": false,
      "score": 78.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "ryugasaki-city-community-bus",
      "name": "Ryugasaki City Community Bus (\u9f8d\u30b1\u5d0e\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 77.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "ryujin-bus",
      "name": "Ryujin Bus (\u9f8d\u795e\u81ea\u52d5\u8eca)",
      "needs_attention": false,
      "score": 73.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "rtl-longueuil",
      "name": "R\u00e9seau de transport de Longueuil",
      "needs_attention": false,
      "score": 80.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the flagged fields and fill in the ones your riders would use.",
      "top_fix_code": "missing_recommended_field"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 176,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-11681",
      "name": "R\u00e9seau europ\u00e9en FlixBus et FlixTrain",
      "needs_attention": false,
      "score": 44.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83113",
      "name": "R\u00e9seau interurbain - Ain (01)",
      "needs_attention": false,
      "score": 53.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-38889",
      "name": "R\u00e9seau interurbain - Allier (03)",
      "needs_attention": false,
      "score": 61.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80961",
      "name": "R\u00e9seau interurbain - Ard\u00e8che (07)",
      "needs_attention": false,
      "score": 56.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81245",
      "name": "R\u00e9seau interurbain - Cantal (15)",
      "needs_attention": false,
      "score": 69.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 340,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82324",
      "name": "R\u00e9seau interurbain - Charente (16)",
      "needs_attention": false,
      "score": 68.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 319,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82326",
      "name": "R\u00e9seau interurbain - Charente-Maritime (17)",
      "needs_attention": false,
      "score": 53.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 349,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82328",
      "name": "R\u00e9seau interurbain - Corr\u00e8ze (19)",
      "needs_attention": false,
      "score": 52.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-83200",
      "name": "R\u00e9seau interurbain - Corse",
      "needs_attention": false,
      "score": 61.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 349,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82334",
      "name": "R\u00e9seau interurbain - Deux-S\u00e8vres (79)",
      "needs_attention": false,
      "score": 64.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 355,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82336",
      "name": "R\u00e9seau interurbain - Dordogne (24)",
      "needs_attention": false,
      "score": 58.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 335,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82338",
      "name": "R\u00e9seau interurbain - Gironde (33)",
      "needs_attention": false,
      "score": 52.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-38881",
      "name": "R\u00e9seau interurbain - Haute-Loire (43)",
      "needs_attention": false,
      "score": 51.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-80964",
      "name": "R\u00e9seau interurbain - Haute-Savoie (74)",
      "needs_attention": false,
      "score": 66.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 355,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82340",
      "name": "R\u00e9seau interurbain - Haute-Vienne (87)",
      "needs_attention": false,
      "score": 60.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-40287",
      "name": "R\u00e9seau interurbain - Is\u00e8re (38)",
      "needs_attention": false,
      "score": 56.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82342",
      "name": "R\u00e9seau interurbain - Landes (40)",
      "needs_attention": false,
      "score": 71.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83114",
      "name": "R\u00e9seau interurbain - Loire (42)",
      "needs_attention": false,
      "score": 56.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82344",
      "name": "R\u00e9seau interurbain - Lot-et-Garonne (47)",
      "needs_attention": false,
      "score": 70.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-38888",
      "name": "R\u00e9seau interurbain - Puy-de-D\u00f4me (63)",
      "needs_attention": false,
      "score": 54.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82346",
      "name": "R\u00e9seau interurbain - Pyr\u00e9n\u00e9es-Atlantiques (64)",
      "needs_attention": false,
      "score": 71.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81244",
      "name": "R\u00e9seau interurbain - Savoie (73)",
      "needs_attention": false,
      "score": 66.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 349,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82332",
      "name": "R\u00e9seau interurbain - Vienne (86)",
      "needs_attention": false,
      "score": 70.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81480",
      "name": "R\u00e9seau interurbain BreizhGo Bateaux \u2014 Breizhgo Bateaux Finist\u00e8re",
      "needs_attention": false,
      "score": 57.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 138,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81481",
      "name": "R\u00e9seau interurbain BreizhGo Bateaux \u2014 Breizhgo Bateaux Morbihan",
      "needs_attention": false,
      "score": 54.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81463",
      "name": "R\u00e9seau interurbain BreizhGo Car \u2014 Breizhgo 35",
      "needs_attention": false,
      "score": 49.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 335,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81462",
      "name": "R\u00e9seau interurbain BreizhGo Car \u2014 Breizhgo Car 29",
      "needs_attention": false,
      "score": 36.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 335,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81464",
      "name": "R\u00e9seau interurbain BreizhGo Car \u2014 Breizhgo Car 56",
      "needs_attention": false,
      "score": 50.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81474",
      "name": "R\u00e9seau interurbain BreizhGo TER",
      "needs_attention": false,
      "score": 63.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82137",
      "name": "R\u00e9seau interurbain bus Proximit\u00e9 ZOU !",
      "needs_attention": false,
      "score": 51.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 77,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83112",
      "name": "R\u00e9seau interurbain Cars R\u00e9gion Express",
      "needs_attention": false,
      "score": 76.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80960",
      "name": "R\u00e9seau interurbain et scolaire - Dr\u00f4me (26)",
      "needs_attention": false,
      "score": 37.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81138",
      "name": "R\u00e9seau interurbain et TAD zonal Corolis",
      "needs_attention": false,
      "score": 47.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82285",
      "name": "R\u00e9seau interurbain Express ZOU !",
      "needs_attention": false,
      "score": 62.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fluo-grand-est-ardennes",
      "name": "R\u00e9seau interurbain Fluo Grand Est - Ardennes",
      "needs_attention": false,
      "score": 52.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "D",
      "id": "fluo-grand-est-bas-rhin",
      "name": "R\u00e9seau interurbain Fluo Grand Est - Bas-Rhin",
      "needs_attention": false,
      "score": 64.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80419",
      "name": "R\u00e9seau interurbain Fluo Grand-Est - Haut-Rhin (68)",
      "needs_attention": false,
      "score": 47.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81989",
      "name": "R\u00e9seau interurbain Fluo Grand-Est - Haute-Marne (52)",
      "needs_attention": false,
      "score": 45.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-80421",
      "name": "R\u00e9seau interurbain Fluo Grand-Est - Marne (51)",
      "needs_attention": false,
      "score": 64.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80423",
      "name": "R\u00e9seau interurbain Fluo Grand-Est - Meurthe-et-Moselle (54)",
      "needs_attention": false,
      "score": 43.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80425",
      "name": "R\u00e9seau interurbain Fluo Grand-Est - Meuse (55)",
      "needs_attention": false,
      "score": 50.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 378,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80427",
      "name": "R\u00e9seau interurbain Fluo Grand-Est - Moselle (57)",
      "needs_attention": false,
      "score": 40.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80429",
      "name": "R\u00e9seau interurbain Fluo Grand-Est - Vosges (88)",
      "needs_attention": false,
      "score": 37.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81026",
      "name": "R\u00e9seau interurbain liO Occitanie",
      "needs_attention": false,
      "score": 56.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 395,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82317",
      "name": "R\u00e9seau interurbain Nomad Car",
      "needs_attention": false,
      "score": 50.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83530",
      "name": "R\u00e9seau interurbain R\u00e9mi",
      "needs_attention": false,
      "score": 56.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-pan-80701",
      "name": "R\u00e9seau interurbain TXIK TXAK",
      "needs_attention": false,
      "score": 81.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "leo-auxerrois",
      "name": "R\u00e9seau L\u00e9o (Communaut\u00e9 d'Agglom\u00e9ration de l'Auxerrois)",
      "needs_attention": false,
      "score": 69.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 237,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82382",
      "name": "R\u00e9seau maritime - Gironde (33)",
      "needs_attention": false,
      "score": 78.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-bacs-de-seine",
      "name": "R\u00e9seau maritime Bacs de Seine",
      "needs_attention": false,
      "score": 65.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81996",
      "name": "R\u00e9seau maritime Corsica Ferries",
      "needs_attention": false,
      "score": 58.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'missing_required_field' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "missing_required_field"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83510",
      "name": "R\u00e9seau maritime Corsica Linea",
      "needs_attention": false,
      "score": 77.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-martinique-maritime",
      "name": "R\u00e9seau maritime de Martinique",
      "needs_attention": false,
      "score": 49.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 131,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81653",
      "name": "R\u00e9seau national Trenitalia France",
      "needs_attention": false,
      "score": 39.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82094",
      "name": "R\u00e9seau scolaire de Flers",
      "needs_attention": false,
      "score": 62.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82136",
      "name": "R\u00e9seau scolaire interurbain ZOU !",
      "needs_attention": false,
      "score": 53.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-pan-83769",
      "name": "R\u00e9seau scolaire Tiva",
      "needs_attention": false,
      "score": 87.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "D",
      "id": "sncf-tgv-intercites-ter",
      "name": "R\u00e9seau SNCF TGV, Intercit\u00e9s et TER",
      "needs_attention": false,
      "score": 64.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "stan-nancy",
      "name": "R\u00e9seau Stan (Nancy)",
      "needs_attention": false,
      "score": 60.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 258,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83982",
      "name": "R\u00e9seau urbain - Navette Ariane",
      "needs_attention": false,
      "score": 73.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_url"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83258",
      "name": "R\u00e9seau urbain 3CMA",
      "needs_attention": false,
      "score": 59.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1512,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82997",
      "name": "R\u00e9seau urbain A Balanina",
      "needs_attention": false,
      "score": 68.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82995",
      "name": "R\u00e9seau urbain A Berlina",
      "needs_attention": false,
      "score": 63.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81705",
      "name": "R\u00e9seau urbain Agglobus \u2014 CACL PERIURBAIN",
      "needs_attention": false,
      "score": 30.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83304",
      "name": "R\u00e9seau urbain Agglobus \u2014 GTFS L7 ET L10",
      "needs_attention": false,
      "score": 47.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83781",
      "name": "R\u00e9seau urbain Agglobus \u2014 GTFS SEMOP 2026",
      "needs_attention": false,
      "score": 70.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 288,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-75062",
      "name": "R\u00e9seau urbain Alesy",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-alterneo",
      "name": "R\u00e9seau urbain Altern\u00e9o",
      "needs_attention": false,
      "score": 60.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-argentan-bus",
      "name": "R\u00e9seau urbain Argentan Bus",
      "needs_attention": false,
      "score": 67.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81072",
      "name": "R\u00e9seau urbain AXO",
      "needs_attention": false,
      "score": 62.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 336,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-ca2bm",
      "name": "R\u00e9seau urbain CA2BM",
      "needs_attention": false,
      "score": 33.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-cabus",
      "name": "R\u00e9seau urbain CABUS",
      "needs_attention": false,
      "score": 56.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82359",
      "name": "R\u00e9seau urbain Calibus",
      "needs_attention": false,
      "score": 66.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-carsud",
      "name": "R\u00e9seau urbain CarSud",
      "needs_attention": false,
      "score": 50.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-cherpa",
      "name": "R\u00e9seau urbain Cherpa",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 762,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-colibri",
      "name": "R\u00e9seau urbain Colibri",
      "needs_attention": false,
      "score": 70.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 2728,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81476",
      "name": "R\u00e9seau urbain Coralie",
      "needs_attention": false,
      "score": 44.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-couralin",
      "name": "R\u00e9seau urbain Couralin",
      "needs_attention": false,
      "score": 66.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 62,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82150",
      "name": "R\u00e9seau urbain CVL Mobilit\u00e9",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-cote-bus",
      "name": "R\u00e9seau urbain C\u00f4te&Bus",
      "needs_attention": false,
      "score": 73.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 335,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-81557",
      "name": "R\u00e9seau urbain de la CC Jalle Eau Bourde",
      "needs_attention": false,
      "score": 79.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-79897",
      "name": "R\u00e9seau urbain de la zone Sud (CAESM)",
      "needs_attention": false,
      "score": 58.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-79528",
      "name": "R\u00e9seau urbain Distribus",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82683",
      "name": "R\u00e9seau urbain DK'BUS",
      "needs_attention": false,
      "score": 61.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-79728",
      "name": "R\u00e9seau urbain du Grand Albigeois",
      "needs_attention": false,
      "score": 76.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81585",
      "name": "R\u00e9seau urbain du Pays de Gex",
      "needs_attention": false,
      "score": 67.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-84112",
      "name": "R\u00e9seau urbain Duobus",
      "needs_attention": false,
      "score": 59.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1094,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-ecla-mobilite",
      "name": "R\u00e9seau urbain ECLA Mobilit\u00e9",
      "needs_attention": false,
      "score": 55.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-envia",
      "name": "R\u00e9seau urbain Envia",
      "needs_attention": false,
      "score": 69.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-estival",
      "name": "R\u00e9seau urbain Estival",
      "needs_attention": false,
      "score": 63.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-83203",
      "name": "R\u00e9seau urbain estival Biscabus",
      "needs_attention": false,
      "score": 66.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 145,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-altigo",
      "name": "R\u00e9seau urbain et interurbain Altigo",
      "needs_attention": false,
      "score": 47.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'missing_required_field' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "missing_required_field"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83789",
      "name": "R\u00e9seau urbain et interurbain Trans'Agglo",
      "needs_attention": false,
      "score": 39.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'start_and_end_range_out_of_order' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "start_and_end_range_out_of_order"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83762",
      "name": "R\u00e9seau urbain et scolaire Lila Presqu'ile",
      "needs_attention": false,
      "score": 54.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-83881",
      "name": "R\u00e9seau urbain et scolaire Yc\u00e9o",
      "needs_attention": false,
      "score": 69.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82370",
      "name": "R\u00e9seau urbain Evalys",
      "needs_attention": false,
      "score": 71.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-79544",
      "name": "R\u00e9seau urbain Eveole",
      "needs_attention": false,
      "score": 55.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-pan-81432",
      "name": "R\u00e9seau urbain Evidence",
      "needs_attention": false,
      "score": 84.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-fablio",
      "name": "R\u00e9seau urbain Fablio",
      "needs_attention": false,
      "score": 61.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-forbus",
      "name": "R\u00e9seau urbain Forbus",
      "needs_attention": false,
      "score": 76.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-hobus",
      "name": "R\u00e9seau urbain Hobus",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-hop-bus",
      "name": "R\u00e9seau urbain Hop Bus",
      "needs_attention": false,
      "score": 42.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80461",
      "name": "R\u00e9seau urbain Imagine",
      "needs_attention": false,
      "score": 53.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-isibus",
      "name": "R\u00e9seau urbain Isibus",
      "needs_attention": false,
      "score": 69.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-karulis",
      "name": "R\u00e9seau urbain KARU'LIS",
      "needs_attention": false,
      "score": 35.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-agglo-en-bus",
      "name": "R\u00e9seau urbain L'Agglo en Bus",
      "needs_attention": false,
      "score": 72.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-agglobus-foix",
      "name": "R\u00e9seau urbain l'agglobus",
      "needs_attention": false,
      "score": 69.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "lbus-bernay",
      "name": "R\u00e9seau urbain l'Bus (Bernay)",
      "needs_attention": false,
      "score": 69.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-52917",
      "name": "R\u00e9seau urbain L'va",
      "needs_attention": false,
      "score": 61.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83725",
      "name": "R\u00e9seau urbain Le 37",
      "needs_attention": false,
      "score": 55.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 70,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83528",
      "name": "R\u00e9seau urbain Le Bus de la Ville d\u2019Amboise",
      "needs_attention": false,
      "score": 78.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-le-sit",
      "name": "R\u00e9seau urbain Le SIT",
      "needs_attention": false,
      "score": 73.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-lib-bus",
      "name": "R\u00e9seau urbain Lib'Bus",
      "needs_attention": false,
      "score": 68.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-79508",
      "name": "R\u00e9seau urbain Libellus",
      "needs_attention": false,
      "score": 58.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 330,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82355",
      "name": "R\u00e9seau urbain Lib\u00e9o",
      "needs_attention": false,
      "score": 70.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 140,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-82291",
      "name": "R\u00e9seau urbain Lin\u00e9otim",
      "needs_attention": false,
      "score": 36.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-lyneo",
      "name": "R\u00e9seau urbain Lyneo",
      "needs_attention": false,
      "score": 41.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-mio",
      "name": "R\u00e9seau urbain Mio",
      "needs_attention": false,
      "score": 70.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81058",
      "name": "R\u00e9seau urbain Mobi",
      "needs_attention": false,
      "score": 66.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-moca",
      "name": "R\u00e9seau urbain MOCA",
      "needs_attention": false,
      "score": 73.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-monrezo",
      "name": "R\u00e9seau urbain MonR\u00e9ZO",
      "needs_attention": false,
      "score": 63.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-80443",
      "name": "R\u00e9seau urbain Mouv\u00e9o",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-mouveo-saint-omer",
      "name": "R\u00e9seau urbain Mouv\u00e9o (Saint-Omer)",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-muvistrada",
      "name": "R\u00e9seau urbain Muvistrada",
      "needs_attention": false,
      "score": 45.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-nemus",
      "name": "R\u00e9seau urbain Nemus",
      "needs_attention": false,
      "score": 74.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-pan-79576",
      "name": "R\u00e9seau urbain Nosbus",
      "needs_attention": false,
      "score": 88.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape_dist_traveled on export so stop and shape distances use the same units.",
      "top_fix_code": "trip_distance_exceeds_shape_distance_below_threshold"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 153,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-ole",
      "name": "R\u00e9seau urbain Ol\u00e9",
      "needs_attention": false,
      "score": 51.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81421",
      "name": "R\u00e9seau urbain Ol\u00e9ane",
      "needs_attention": false,
      "score": 67.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-79374",
      "name": "R\u00e9seau urbain Optymo",
      "needs_attention": false,
      "score": 78.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83859",
      "name": "R\u00e9seau urbain Papillon",
      "needs_attention": false,
      "score": 59.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pass-o",
      "name": "R\u00e9seau urbain Pass'O",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83467",
      "name": "R\u00e9seau urbain Pays des Ecrins",
      "needs_attention": false,
      "score": 52.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82357",
      "name": "R\u00e9seau urbain P\u00e9ribus",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83408",
      "name": "R\u00e9seau urbain Qub",
      "needs_attention": false,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82367",
      "name": "R\u00e9seau urbain R'Bus",
      "needs_attention": false,
      "score": 70.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 155,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-rezo",
      "name": "R\u00e9seau urbain Rezo",
      "needs_attention": false,
      "score": 69.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-riv-connect",
      "name": "R\u00e9seau urbain Riv'Connect",
      "needs_attention": false,
      "score": 80.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 391,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-52937",
      "name": "R\u00e9seau urbain Ruban",
      "needs_attention": false,
      "score": 51.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-rubis",
      "name": "R\u00e9seau urbain Rubis",
      "needs_attention": false,
      "score": 61.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add coordinates for the flagged stops.",
      "top_fix_code": "stop_without_location"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 63,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-pan-79537",
      "name": "R\u00e9seau urbain R\u00e9so",
      "needs_attention": false,
      "score": 85.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the flagged stops' shape_dist_traveled against the route shape, and re-generate it on export if they disagree.",
      "top_fix_code": "stop_too_far_from_shape_using_user_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81070",
      "name": "R\u00e9seau urbain Sablons Bus",
      "needs_attention": false,
      "score": 53.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-79859",
      "name": "R\u00e9seau urbain Sa\u00f4nibus",
      "needs_attention": false,
      "score": 45.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83893",
      "name": "R\u00e9seau urbain Sud Sainte Baume",
      "needs_attention": false,
      "score": 51.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-83533",
      "name": "R\u00e9seau urbain T'Bus",
      "needs_attention": false,
      "score": 66.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-79865",
      "name": "R\u00e9seau urbain Tam",
      "needs_attention": false,
      "score": 55.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "nc-taneo-82780",
      "name": "R\u00e9seau urbain Tan\u00e9o",
      "needs_attention": false,
      "score": 55.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 77,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-pan-82348",
      "name": "R\u00e9seau urbain TCL",
      "needs_attention": false,
      "score": 81.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 699,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-79864",
      "name": "R\u00e9seau urbain Ticobus",
      "needs_attention": false,
      "score": 67.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-ticea",
      "name": "R\u00e9seau urbain Tic\u00e9a",
      "needs_attention": false,
      "score": 61.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83531",
      "name": "R\u00e9seau urbain TIG",
      "needs_attention": false,
      "score": 78.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-tiva",
      "name": "R\u00e9seau urbain TIVA",
      "needs_attention": false,
      "score": 89.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-tmco",
      "name": "R\u00e9seau urbain TMCO",
      "needs_attention": false,
      "score": 77.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-tohm",
      "name": "R\u00e9seau urbain TOHM",
      "needs_attention": false,
      "score": 65.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-81794",
      "name": "R\u00e9seau urbain Tougo",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 392,
      "expiry_status": "current",
      "grade": "B",
      "id": "fr-tout-enbus",
      "name": "R\u00e9seau urbain Tout'enbus",
      "needs_attention": false,
      "score": 84.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-83785",
      "name": "R\u00e9seau urbain Trans'CoVe",
      "needs_attention": false,
      "score": 62.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83462",
      "name": "R\u00e9seau urbain Transports du Pays Voironnais",
      "needs_attention": false,
      "score": 74.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 882,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-transpor-pays-de-lor",
      "name": "R\u00e9seau urbain Transp\u2019Or",
      "needs_attention": false,
      "score": 52.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-tub",
      "name": "R\u00e9seau urbain TUB",
      "needs_attention": false,
      "score": 65.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-tud",
      "name": "R\u00e9seau urbain TUD",
      "needs_attention": false,
      "score": 58.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 336,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-tul",
      "name": "R\u00e9seau urbain TUL",
      "needs_attention": false,
      "score": 72.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 334,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-80471",
      "name": "R\u00e9seau urbain TUM",
      "needs_attention": false,
      "score": 59.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-tungt",
      "name": "R\u00e9seau urbain TUNGT",
      "needs_attention": false,
      "score": 51.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-tus",
      "name": "R\u00e9seau urbain TUS",
      "needs_attention": false,
      "score": 54.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'start_and_end_range_out_of_order' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "start_and_end_range_out_of_order"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-82379",
      "name": "R\u00e9seau urbain TuT",
      "needs_attention": false,
      "score": 63.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 77,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-uggo",
      "name": "R\u00e9seau urbain UGGO",
      "needs_attention": false,
      "score": 73.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-vikibus",
      "name": "R\u00e9seau urbain Vikibus",
      "needs_attention": false,
      "score": 70.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-villeo-retzeo",
      "name": "R\u00e9seau urbain Vill\u00e9o Retz\u00e9o",
      "needs_attention": false,
      "score": 66.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-83416",
      "name": "R\u00e9seau urbain Y\u00e9go",
      "needs_attention": false,
      "score": 64.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82350",
      "name": "R\u00e9seau urbain Y\u00e9lo",
      "needs_attention": false,
      "score": 71.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 313,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-81944",
      "name": "R\u00e9seau urbain \u00e9volitY",
      "needs_attention": false,
      "score": 63.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "D",
      "id": "rigas-satiksme",
      "name": "R\u012bgas satiksme",
      "needs_attention": false,
      "score": 67.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "C",
      "id": "sagae-city-bus",
      "name": "Sagae City Bus (\u5bd2\u6cb3\u6c5f\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "B",
      "id": "sage-stage",
      "name": "Sage Stage",
      "needs_attention": false,
      "score": 86.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "C",
      "id": "saint-john-transit",
      "name": "Saint John Transit",
      "needs_attention": false,
      "score": 79.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1248,
      "expiry_status": "current",
      "grade": "D",
      "id": "saint-mary-s-transit-system-2268",
      "name": "Saint Mary\u02bcs Transit System",
      "needs_attention": false,
      "score": 66.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "sakata-city-bus",
      "name": "Sakata City Bus (\u9152\u7530\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8916,
      "expiry_status": "current",
      "grade": "D",
      "id": "san-clemente-trolley",
      "name": "San Clemente Trolley",
      "needs_attention": false,
      "score": 63.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "A",
      "id": "san-francisco-bay-area-water-emergency-transportation-authority-weta",
      "name": "San Francisco Bay Area Water Emergency Transportation Authority (WETA)",
      "needs_attention": false,
      "score": 90.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "A",
      "id": "san-francisco-bay-area-water-emergency-transportation-authority-weta-3143",
      "name": "San Francisco Bay Area Water Emergency Transportation Authority (WETA)",
      "needs_attention": false,
      "score": 90.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 303,
      "expiry_status": "current",
      "grade": "B",
      "id": "san-joaquin-regional-transit-district",
      "name": "San Joaquin Regional Transit District",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "san-luis-obispo-regional-transit-authority-slorta",
      "name": "San Luis Obispo Regional Transit Authority (SLORTA)",
      "needs_attention": false,
      "score": 81.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 78,
      "expiry_status": "current",
      "grade": "B",
      "id": "san-miguel-county",
      "name": "San Miguel County",
      "needs_attention": false,
      "score": 83.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 717,
      "expiry_status": "current",
      "grade": "D",
      "id": "sanders-coaches",
      "name": "Sanders Coaches",
      "needs_attention": false,
      "score": 60.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "sandy-area-metro-sam",
      "name": "Sandy Area Metro (SAM)",
      "needs_attention": false,
      "score": 80.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 93,
      "expiry_status": "current",
      "grade": "D",
      "id": "sanko-bus",
      "name": "Sanko Bus (\u7523\u4ea4\u30d0\u30b9)",
      "needs_attention": false,
      "score": 64.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "santa-clarita-transit",
      "name": "Santa Clarita Transit",
      "needs_attention": false,
      "score": 26.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-16",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 354,
      "expiry_status": "current",
      "grade": "D",
      "id": "santa-maria-area-transit-2272",
      "name": "Santa Maria Area Transit",
      "needs_attention": false,
      "score": 60.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 181,
      "expiry_status": "current",
      "grade": "A",
      "id": "santa-ynez-valley-transit",
      "name": "Santa Ynez Valley Transit",
      "needs_attention": false,
      "score": 96.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Turn on shape cleanup in your export tool, or drop the repeated points from shapes.txt.",
      "top_fix_code": "equal_shape_distance_same_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1062,
      "expiry_status": "current",
      "grade": "F",
      "id": "sarasota-county-area-transit-scat",
      "name": "Sarasota County Area Transit (SCAT)",
      "needs_attention": false,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 238,
      "expiry_status": "current",
      "grade": "F",
      "id": "sardegna-minor-islands-maritime-services",
      "name": "Sardegna minor-island maritime services",
      "needs_attention": false,
      "score": 56.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "D",
      "id": "sardegna-corsica-maritime-services",
      "name": "Sardegna\u2013Corsica maritime services",
      "needs_attention": false,
      "score": 62.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "B",
      "id": "sayo-town-community-bus",
      "name": "Sayo Town Community Bus (\u4f50\u7528\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1327,
      "expiry_status": "current",
      "grade": "C",
      "id": "seastreak-ferry",
      "name": "Seastreak Ferry",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 394,
      "expiry_status": "current",
      "grade": "A",
      "id": "sedona-shuttle",
      "name": "Sedona Shuttle",
      "needs_attention": false,
      "score": 99.8,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Widen feed_start_date and feed_end_date to cover all service dates, or fix the dates that fall outside.",
      "top_fix_code": "service_window_outside_feed_period"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 424,
      "expiry_status": "current",
      "grade": "B",
      "id": "seikatsu-bus-yokkaichi",
      "name": "Seikatsu Bus Yokkaichi (\u751f\u6d3b\u30d0\u30b9\u3088\u3063\u304b\u3044\u3061)",
      "needs_attention": false,
      "score": 81.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "seisan-kanko-limousine",
      "name": "Seisan Kanko Takamatsu Airport Limousine (\u897f\u8b83\u89b3\u5149\u3000\u9ad8\u677e\u7a7a\u6e2f\u30ea\u30e0\u30b8\u30f3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 72.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "semboku-city-bus",
      "name": "Semboku City Bus (\u4ed9\u5317\u5e02\u6c11\u30d0\u30b9)",
      "needs_attention": false,
      "score": 72.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "D",
      "id": "semo-seine-eure",
      "name": "SEMO (Seine-Eure)",
      "needs_attention": false,
      "score": 62.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "senior-resource-development-agency",
      "name": "Senior Resource Development Agency Flex",
      "needs_attention": false,
      "score": 70.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_geometry' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_geometry"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 145,
      "expiry_status": "current",
      "grade": "F",
      "id": "mtop-uruguay-metropolitan",
      "name": "Servicios metropolitanos de \u00f3mnibus (MTOP Uruguay)",
      "needs_attention": false,
      "score": 48.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "seto-city-community-bus",
      "name": "Seto City Community Bus (\u702c\u6238\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 72.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "setouchi-city-bus",
      "name": "Setouchi City Bus (\u702c\u6238\u5185\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8584,
      "expiry_status": "current",
      "grade": "B",
      "id": "shawnee-mass-transit-district",
      "name": "Shawnee Mass Transit District",
      "needs_attention": false,
      "score": 82.6,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "shichigahama-town-bus",
      "name": "Shichigahama Town Community Bus (\u4e03\u30f6\u6d5c\u753a\u6c11\u30d0\u30b9\u300c\u3050\u308b\u308a\u3093\u3053\u300d)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 607,
      "expiry_status": "current",
      "grade": "C",
      "id": "shichinohe-town-community-bus",
      "name": "Shichinohe Town Community Bus (\u4e03\u6238\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "shimada-community-bus",
      "name": "Shimada City Community Bus (\u5cf6\u7530\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "C",
      "id": "shimanto-city-bus",
      "name": "Shimanto City Bus (\u56db\u4e07\u5341\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 77.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "shimokita-kotsu",
      "name": "Shimokita Kotsu (\u4e0b\u5317\u4ea4\u901a)",
      "needs_attention": false,
      "score": 71.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "D",
      "id": "shin-joban-kotsu",
      "name": "Shin-Joban Kotsu (\u65b0\u5e38\u78d0\u4ea4\u901a)",
      "needs_attention": false,
      "score": 64.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "shinjo-city-bus",
      "name": "Shinjo City Bus (\u65b0\u5e84\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "shinshiro-city-s-bus",
      "name": "Shinshiro City S-Bus (\u65b0\u57ce\u5e02S\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 608,
      "expiry_status": "current",
      "grade": "C",
      "id": "shiojiri-step-bus",
      "name": "Shiojiri Community Bus Step-kun (\u5869\u5c3b\u5e02\u5730\u57df\u632f\u8208\u30d0\u30b9\u300c\u3059\u3066\u3063\u3077\u304f\u3093\u300d)",
      "needs_attention": false,
      "score": 72.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "A",
      "id": "gulf-islands-national-seashore-3210",
      "name": "Ship Island Excursions",
      "needs_attention": false,
      "score": 98.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Remove past service periods the next time you export the feed.",
      "top_fix_code": "expired_calendar"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "shirotori-kotsu",
      "name": "Shirotori Kotsu (\u767d\u9ce5\u4ea4\u901a)",
      "needs_attention": false,
      "score": 75.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "F",
      "id": "shonai-kotsu",
      "name": "Shonai Kotsu (\u5e84\u5185\u4ea4\u901a)",
      "needs_attention": false,
      "score": 48.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "shoreline-metro",
      "name": "Shoreline Metro",
      "needs_attention": false,
      "score": 83.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "shreveport-and-bossier-city",
      "name": "Shreveport and Bossier City",
      "needs_attention": false,
      "score": 34.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request.",
      "top_fix_code": "scorecard_rt_trip_updates_unreachable"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "sioux-city-transit-system",
      "name": "Sioux City Transit System",
      "needs_attention": false,
      "score": 82.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1453,
      "expiry_status": "current",
      "grade": "B",
      "id": "siskiyou-county",
      "name": "Siskiyou County",
      "needs_attention": false,
      "score": 81.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "D",
      "id": "sj-nord-rail",
      "name": "SJ Nord (SJ Norge)",
      "needs_attention": false,
      "score": 67.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "skamania-county-transit",
      "name": "Skamania County Transit",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 5081,
      "expiry_status": "current",
      "grade": "D",
      "id": "skuodas-public-transport",
      "name": "Skuodas public transport",
      "needs_attention": false,
      "score": 62.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 133,
      "expiry_status": "current",
      "grade": "F",
      "id": "skyss-vestland",
      "name": "Skyss",
      "needs_attention": false,
      "score": 48.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "C",
      "id": "slieve-bloom-coach-tours",
      "name": "Slieve Bloom Coach Tours",
      "needs_attention": false,
      "score": 80.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "snelandia-finnmark",
      "name": "Snelandia",
      "needs_attention": false,
      "score": 63.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "snoqualmie-valley-transportation",
      "name": "Snoqualmie Valley Transportation",
      "needs_attention": false,
      "score": 81.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 315,
      "expiry_status": "current",
      "grade": "C",
      "id": "sgm-lecce",
      "name": "Societ\u00e0 Gestione Multipla (SGM Lecce)",
      "needs_attention": false,
      "score": 73.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 140,
      "expiry_status": "current",
      "grade": "A",
      "id": "stlevis",
      "name": "Soci\u00e9t\u00e9 de transport de L\u00e9vis (STL\u00e9vis)",
      "needs_attention": false,
      "score": 93.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 196,
      "expiry_status": "current",
      "grade": "B",
      "id": "rimouski-transit",
      "name": "Soci\u00e9t\u00e9 des transports de Rimouski",
      "needs_attention": false,
      "score": 87.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export.",
      "top_fix_code": "scorecard_missing_feed_info_dates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "soltrans",
      "name": "SolTrans (Solano County Transit)",
      "needs_attention": false,
      "score": 88.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Trim leading and trailing spaces on export. The scorecard's auto-fixed copy already does this.",
      "top_fix_code": "leading_or_trailing_whitespaces"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 327,
      "expiry_status": "current",
      "grade": "F",
      "id": "solea-mulhouse",
      "name": "Sol\u00e9a (Mulhouse Alsace Agglom\u00e9ration)",
      "needs_attention": false,
      "score": 41.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 161,
      "expiry_status": "current",
      "grade": "A",
      "id": "sonoma-marin-area-rail-transit-smart",
      "name": "Sonoma-Marin Area Rail Transit (SMART)",
      "needs_attention": false,
      "score": 98.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 236,
      "expiry_status": "current",
      "grade": "B",
      "id": "sound-transit-metro-transit-city-of-seattle-king-county-metro",
      "name": "Sound Transit, Metro Transit, City of Seattle - King County Metro",
      "needs_attention": false,
      "score": 85.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape_dist_traveled on export so stop and shape distances use the same units.",
      "top_fix_code": "trip_distance_exceeds_shape_distance_below_threshold"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "south-central-council-of-governments-sccog",
      "name": "South Central Council of Governments (SCCOG) Flex",
      "needs_attention": false,
      "score": 72.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "south-county-transit-link-2203",
      "name": "South County Transit Link",
      "needs_attention": false,
      "score": 76.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "C",
      "id": "south-metro-area-regional-transit-smart-2706",
      "name": "South Metro Area Regional Transit (SMART)",
      "needs_attention": false,
      "score": 72.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "B",
      "id": "south-shore-line",
      "name": "South Shore Line",
      "needs_attention": false,
      "score": 89.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Check with your AVL vendor that every vehicle assignment flows into TripUpdates, including school-day and tripper runs.",
      "top_fix_code": "scorecard_rt_trip_coverage"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 329,
      "expiry_status": "current",
      "grade": "B",
      "id": "southeast-area-transit-district-2240",
      "name": "Southeast Area Transit District",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 303,
      "expiry_status": "current",
      "grade": "C",
      "id": "southwest-rides",
      "name": "Southwest Rides Flex",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 320,
      "expiry_status": "current",
      "grade": "A",
      "id": "stanford-marguerite-shuttle-sms",
      "name": "Stanford Marguerite Shuttle (SMS)",
      "needs_attention": false,
      "score": 92.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Turn on shape cleanup in your export tool, or drop the repeated points from shapes.txt.",
      "top_fix_code": "equal_shape_distance_same_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "C",
      "id": "stanislaus-regional-transit-start-2273",
      "name": "Stanislaus Regional Transit (StaRT)",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "star-transit",
      "name": "STAR Transit",
      "needs_attention": false,
      "score": 85.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "star-transit-819",
      "name": "STAR Transit",
      "needs_attention": false,
      "score": 78.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "D",
      "id": "star-transit-2444",
      "name": "STAR Transit Flex",
      "needs_attention": false,
      "score": 66.0,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_pickup_drop_off_window' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_pickup_drop_off_window"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "D",
      "id": "startran-2269",
      "name": "StarTran",
      "needs_attention": false,
      "score": 68.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 75,
      "expiry_status": "current",
      "grade": "F",
      "id": "stas-saint-etienne",
      "name": "STAS (Saint-\u00c9tienne M\u00e9tropole)",
      "needs_attention": false,
      "score": 32.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 533,
      "expiry_status": "current",
      "grade": "C",
      "id": "staten-island-ferry",
      "name": "Staten Island Ferry",
      "needs_attention": false,
      "score": 73.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'missing_required_file' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "missing_required_file"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 117,
      "expiry_status": "current",
      "grade": "B",
      "id": "steamboat-springs-transit",
      "name": "Steamboat Springs Transit Flex",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 882,
      "expiry_status": "current",
      "grade": "B",
      "id": "streamline",
      "name": "Streamline",
      "needs_attention": false,
      "score": 80.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "suffolk-county-transit-3115",
      "name": "Suffolk County Transit",
      "needs_attention": false,
      "score": 58.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "sukumo-city-yururin-bus",
      "name": "Sukumo City Yururin Bus (\u5bbf\u6bdb\u5e02\u300c\u3086\u308b\u308a\u3093\u30d0\u30b9\u300d)",
      "needs_attention": false,
      "score": 77.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "sullivan-county-transit",
      "name": "Sullivan County Transit",
      "needs_attention": false,
      "score": 51.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 104,
      "expiry_status": "current",
      "grade": "C",
      "id": "summit-stage",
      "name": "Summit Stage",
      "needs_attention": false,
      "score": 79.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "sumoto-city-community-bus",
      "name": "Sumoto City Community Bus (\u6d32\u672c\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 82.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "C",
      "id": "sun-metro",
      "name": "Sun Metro",
      "needs_attention": false,
      "score": 71.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1642,
      "expiry_status": "current",
      "grade": "F",
      "id": "suntran-utah",
      "name": "SunTran Utah",
      "needs_attention": false,
      "score": 58.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "suwa-karinchan-bus",
      "name": "Suwa City Karin-chan Bus (\u8acf\u8a2a\u5e02\u304b\u308a\u3093\u3061\u3083\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 156,
      "expiry_status": "current",
      "grade": "F",
      "id": "svipper-troms",
      "name": "Svipper (Troms)",
      "needs_attention": false,
      "score": 42.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'transfer_with_invalid_trip_and_stop' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "transfer_with_invalid_trip_and_stop"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "C",
      "id": "swan-island-evening-shuttle",
      "name": "Swan Island Evening Shuttle",
      "needs_attention": false,
      "score": 78.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "C",
      "id": "swiss-demand-responsive-ski-plus",
      "name": "Swiss demand-responsive services (SKI+)",
      "needs_attention": false,
      "score": 70.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "swiss-national-timetable-2026",
      "name": "Swiss national timetable (opentransportdata.swiss)",
      "needs_attention": false,
      "score": 49.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "C",
      "id": "swords-express",
      "name": "Swords Express",
      "needs_attention": false,
      "score": 77.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "swu-ulm",
      "name": "SWU Verkehr (Ulm/Neu-Ulm)",
      "needs_attention": false,
      "score": 86.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tachikawa-kururin-bus",
      "name": "Tachikawa City Kururin Bus (\u7acb\u5ddd\u5e02\u304f\u308b\u308a\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-81158",
      "name": "TAD r\u00e9seau AlloTIC",
      "needs_attention": false,
      "score": 47.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-83770",
      "name": "TAD r\u00e9seau Tiva",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_row_length' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_row_length"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 424,
      "expiry_status": "current",
      "grade": "C",
      "id": "tagawa-city-community-bus",
      "name": "Tagawa City Community Bus (\u7530\u5ddd\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 78.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "D",
      "id": "tahoe-transportation-district",
      "name": "Tahoe Transportation District",
      "needs_attention": false,
      "score": 69.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "taiyo-kotsu-fukuoka",
      "name": "Taiyo Kotsu (\u592a\u967d\u4ea4\u901a)",
      "needs_attention": false,
      "score": 81.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "takaoka-koei-bus",
      "name": "Takaoka City Public Bus (\u9ad8\u5ca1\u5e02\u516c\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 424,
      "expiry_status": "current",
      "grade": "B",
      "id": "takarazuka-city-ranran-bus",
      "name": "Takarazuka City Ran-Ran Bus (\u5b9d\u585a\u5e02\u30e9\u30f3\u30e9\u30f3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "takasago-joton-bus",
      "name": "Takasago City Joton Bus (\u9ad8\u7802\u5e02\u3058\u3087\u3046\u3068\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "takashima-city-bus",
      "name": "Takashima City Community Bus (\u9ad8\u5cf6\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 69.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "takeya-kotsu",
      "name": "Takeya Kotsu (\u30bf\u30b1\u30e4\u4ea4\u901a)",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "tallinn-public-transport-tlt",
      "name": "Tallinn public transport (TLT)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 98,
      "expiry_status": "current",
      "grade": "C",
      "id": "tampere-nysse",
      "name": "Tampere regional transport (Nysse)",
      "needs_attention": false,
      "score": 73.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "D",
      "id": "tanabe-city-jumin-bus",
      "name": "Tanabe City Residents Bus (\u7530\u8fba\u5e02\u4f4f\u6c11\u30d0\u30b9)",
      "needs_attention": false,
      "score": 69.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "tango-nimes",
      "name": "Tango (N\u00eemes M\u00e9tropole)",
      "needs_attention": false,
      "score": 52.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "tao-orleans",
      "name": "TAO (Orl\u00e9ans M\u00e9tropole)",
      "needs_attention": false,
      "score": 68.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign.",
      "top_fix_code": "scorecard_missing_headsigns"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "B",
      "id": "tar-river-transit",
      "name": "Tar River Transit",
      "needs_attention": false,
      "score": 85.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "tgo-ortenau",
      "name": "Tarifverbund Ortenau (TGO)",
      "needs_attention": false,
      "score": 45.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'point_near_origin' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "point_near_origin"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "D",
      "id": "tasmania-public-transport",
      "name": "Tasmania public transport aggregate",
      "needs_attention": false,
      "score": 61.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "B",
      "id": "tatsuno-city-bus",
      "name": "Tatsuno City Community Bus (\u305f\u3064\u306e\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 81.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "C",
      "id": "taurage-public-transport",
      "name": "Taurag\u0117 public transport",
      "needs_attention": false,
      "score": 70.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "tbk-quimperle",
      "name": "TBK (Quimperl\u00e9)",
      "needs_attention": false,
      "score": 63.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "teller-senior-coalition-transit-tsc-transit",
      "name": "Teller Senior Coalition Transit (TSC Transit)",
      "needs_attention": false,
      "score": 86.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "D",
      "id": "telsiai-public-transport",
      "name": "Tel\u0161iai public transport",
      "needs_attention": false,
      "score": 60.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tendo-city-bus",
      "name": "Tendo City Bus (\u5929\u7ae5\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "C",
      "id": "tfi-local-link",
      "name": "TFI Local Link",
      "needs_attention": false,
      "score": 77.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1644,
      "expiry_status": "current",
      "grade": "F",
      "id": "tgsrtc-hyderabad-bus",
      "name": "TGSRTC \u2014 Greater Hyderabad bus",
      "needs_attention": false,
      "score": 59.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "B",
      "id": "ketchikan-gateway-borough",
      "name": "The Bus",
      "needs_attention": false,
      "score": 81.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_phone_number' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_phone_number"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 160,
      "expiry_status": "current",
      "grade": "B",
      "id": "the-comet-2209",
      "name": "The Comet",
      "needs_attention": false,
      "score": 81.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 337,
      "expiry_status": "current",
      "grade": "C",
      "id": "the-jule-2083",
      "name": "The Jule",
      "needs_attention": false,
      "score": 74.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "the-moccasin-express",
      "name": "The Moccasin Express",
      "needs_attention": false,
      "score": 83.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "the-otter-express",
      "name": "The Otter Express Flex",
      "needs_attention": false,
      "score": 77.6,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "B",
      "id": "thousand-oaks-transit",
      "name": "Thousand Oaks Transit",
      "needs_attention": false,
      "score": 85.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 101,
      "expiry_status": "current",
      "grade": "F",
      "id": "tic-compiegne",
      "name": "TIC (Compi\u00e8gne)",
      "needs_attention": false,
      "score": 54.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 180,
      "expiry_status": "current",
      "grade": "F",
      "id": "titsa-tenerife",
      "name": "TITSA (Tenerife)",
      "needs_attention": false,
      "score": 52.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 547,
      "expiry_status": "current",
      "grade": "D",
      "id": "toba-municipal-ferry",
      "name": "Toba Municipal Ferry (\u9ce5\u7fbd\u5e02\u55b6\u5b9a\u671f\u8239)",
      "needs_attention": false,
      "score": 65.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1095,
      "expiry_status": "current",
      "grade": "C",
      "id": "toei-bus",
      "name": "Toei Bus (Tokyo Metropolitan Bureau of Transportation)",
      "needs_attention": false,
      "score": 77.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "toei-train",
      "name": "Toei Subway (Tokyo Metropolitan Bureau of Transportation)",
      "needs_attention": false,
      "score": 81.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tokai-city-ranran-bus",
      "name": "Tokai City Ran-Ran Bus (\u6771\u6d77\u5e02\u3089\u3093\u3089\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "toki-community-bus",
      "name": "Toki City Community Bus (\u571f\u5c90\u5e02\u6c11\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "tokoname-gruun",
      "name": "Tokoname Gruun (\u5e38\u6ed1\u5e02\u30b0\u30eb\u30fc\u30f3)",
      "needs_attention": false,
      "score": 80.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tokushima-bus",
      "name": "Tokushima Bus (\u5fb3\u5cf6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 73.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "tokushima-bus-nanbu",
      "name": "Tokushima Bus Nanbu (\u5fb3\u5cf6\u30d0\u30b9\u5357\u90e8)",
      "needs_attention": false,
      "score": 72.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tokushima-city-bus",
      "name": "Tokushima City Bus (\u5fb3\u5cf6\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tonami-city-bus",
      "name": "Tonami City Bus (\u783a\u6ce2\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 71.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "toremar",
      "name": "Toremar (Toscana island ferries)",
      "needs_attention": false,
      "score": 65.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "B",
      "id": "tosa-dragon-bus",
      "name": "Tosa City Dragon Bus (\u571f\u4f50\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u30c9\u30e9\u30b4\u30f3\u30d0\u30b9\u300d)",
      "needs_attention": false,
      "score": 81.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "C",
      "id": "tosaden-streetcar",
      "name": "Tosaden Kotsu Streetcar (\u3068\u3055\u3067\u3093\u4ea4\u901a \u8def\u9762\u96fb\u8eca)",
      "needs_attention": false,
      "score": 78.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "toshin-kanko-bus",
      "name": "Toshin Kanko Bus (\u6771\u4fe1\u89b3\u5149\u30d0\u30b9)",
      "needs_attention": false,
      "score": 85.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "towada-city-communitybus",
      "name": "Towada City Community Bus (\u5341\u548c\u7530\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "towada-kanko-dentetsu",
      "name": "Towada Kanko Dentetsu (\u5341\u548c\u7530\u89b3\u5149\u96fb\u9244)",
      "needs_attention": false,
      "score": 71.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 295,
      "expiry_status": "current",
      "grade": "C",
      "id": "town-of-estes-park",
      "name": "Town of Estes Park",
      "needs_attention": false,
      "score": 77.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 78,
      "expiry_status": "current",
      "grade": "B",
      "id": "town-of-telluride-2050",
      "name": "Town of Telluride Flex",
      "needs_attention": false,
      "score": 82.1,
      "shapes_status": "at_risk",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 296,
      "expiry_status": "current",
      "grade": "D",
      "id": "toyama-chitetsu-bus",
      "name": "Toyama Chitetsu Bus (\u5bcc\u5c71\u5730\u65b9\u9244\u9053\u30d0\u30b9)",
      "needs_attention": false,
      "score": 64.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 223,
      "expiry_status": "current",
      "grade": "C",
      "id": "toyama-chitetsu-tram",
      "name": "Toyama Chitetsu City Tram (\u5bcc\u5c71\u5730\u65b9\u9244\u9053\u5e02\u5185\u96fb\u8eca)",
      "needs_attention": false,
      "score": 73.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "toyama-fuchu-community-bus",
      "name": "Toyama Fuchu Community Bus (\u5bcc\u5c71\u5e02 \u5a66\u4e2d\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 68.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "toyama-horikawa-minami-community-bus",
      "name": "Toyama Horikawa Minami Community Bus (\u5bcc\u5c71\u5e02 \u5800\u5ddd\u5357\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 71.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "toyama-kureha-ikiiki-bus",
      "name": "Toyama Kureha Ikiiki Bus (\u5bcc\u5c71\u5e02 \u5449\u7fbd\u3044\u304d\u3044\u304d\u30d0\u30b9)",
      "needs_attention": false,
      "score": 68.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "toyama-maidohaya-bus",
      "name": "Toyama Maidohaya Bus (\u5bcc\u5c71\u5e02 \u307e\u3044\u3069\u306f\u3084\u30d0\u30b9)",
      "needs_attention": false,
      "score": 70.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "toyama-oyama-community-bus",
      "name": "Toyama Oyama Community Bus (\u5bcc\u5c71\u5e02 \u5927\u5c71\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 67.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "toyama-yamada-community-bus",
      "name": "Toyama Yamada Community Bus (\u5bcc\u5c71\u5e02 \u5c71\u7530\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 70.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "toyama-yatsuo-community-bus",
      "name": "Toyama Yatsuo Community Bus (\u5bcc\u5c71\u5e02 \u516b\u5c3e\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 66.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Ask your AVL vendor to publish updates at least every 20 seconds (the Caltrans guideline).",
      "top_fix_code": "scorecard_rt_stale"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 307,
      "expiry_status": "current",
      "grade": "F",
      "id": "tper-bologna",
      "name": "TPER \u2014 Rete bus Bologna",
      "needs_attention": false,
      "score": 51.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "tper-ferrara",
      "name": "TPER \u2014 Rete bus Ferrara",
      "needs_attention": false,
      "score": 50.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "F",
      "id": "trace-colmar",
      "name": "TRACE (Colmar)",
      "needs_attention": false,
      "score": 53.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "D",
      "id": "fr-pan-83990",
      "name": "Trains r\u00e9gionaux ZOU !",
      "needs_attention": false,
      "score": 65.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 722,
      "expiry_status": "current",
      "grade": "D",
      "id": "trakai-public-transport",
      "name": "Trakai public transport",
      "needs_attention": false,
      "score": 63.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 348,
      "expiry_status": "current",
      "grade": "B",
      "id": "izmir-tram",
      "name": "Tram \u0130zmir",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 359,
      "expiry_status": "current",
      "grade": "F",
      "id": "transdev-blazefield",
      "name": "Transdev Blazefield",
      "needs_attention": false,
      "score": 46.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 96,
      "expiry_status": "current",
      "grade": "C",
      "id": "transit-authority-of-northern-kentucky-tank-2068",
      "name": "Transit Authority of Northern Kentucky (TANK)",
      "needs_attention": false,
      "score": 70.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 160,
      "expiry_status": "current",
      "grade": "D",
      "id": "transit-authority-of-river-city-tarc-2662",
      "name": "Transit Authority of River City (TARC) Fixed Route",
      "needs_attention": false,
      "score": 65.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "D",
      "id": "transmanche-ferries",
      "name": "Transmanche Ferries",
      "needs_attention": false,
      "score": 62.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 85,
      "expiry_status": "current",
      "grade": "F",
      "id": "transperth",
      "name": "Transperth",
      "needs_attention": false,
      "score": 47.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 88,
      "expiry_status": "current",
      "grade": "F",
      "id": "tec-wallonia",
      "name": "Transport en Commun (TEC), Wallonia",
      "needs_attention": false,
      "score": 45.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1248,
      "expiry_status": "current",
      "grade": "C",
      "id": "transport-rouyn-noranda",
      "name": "Transport en commun de Rouyn-Noranda",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "A",
      "id": "ungheni-public-transport",
      "name": "Transport Public Ungheni",
      "needs_attention": false,
      "score": 96.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "F",
      "id": "fr-pan-83821",
      "name": "Transport scolaire SCOL'TUS",
      "needs_attention": false,
      "score": 39.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'equal_shape_distance_diff_coordinates' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "equal_shape_distance_diff_coordinates"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 515,
      "expiry_status": "current",
      "grade": "C",
      "id": "transportation-management-association-of-chester-county-tmacc",
      "name": "Transportation Management Association of Chester County (TMACC)",
      "needs_attention": false,
      "score": 77.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "A",
      "id": "transtejo-soflusa",
      "name": "Transtejo Soflusa (TTSL)",
      "needs_attention": false,
      "score": 98.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'service_extends_far_in_the_future' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "service_extends_far_in_the_future"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "C",
      "id": "trenitalia-sardegna",
      "name": "Trenitalia regional rail in Sardegna",
      "needs_attention": false,
      "score": 77.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "trenitalia-toscana",
      "name": "Trenitalia regional rail in Toscana",
      "needs_attention": false,
      "score": 58.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "D",
      "id": "trenord",
      "name": "Trenord",
      "needs_attention": false,
      "score": 62.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "tri-valley-transit",
      "name": "Tri-Valley Transit",
      "needs_attention": false,
      "score": 78.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 118,
      "expiry_status": "current",
      "grade": "C",
      "id": "trimet-portland-streetcar",
      "name": "TriMet, Portland Streetcar",
      "needs_attention": false,
      "score": 71.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "trinity-transit-2709",
      "name": "Trinity Transit",
      "needs_attention": false,
      "score": 87.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "tsu-airport-line",
      "name": "Tsu Airport Line (\u6d25\u30a8\u30a2\u30dd\u30fc\u30c8\u30e9\u30a4\u30f3)",
      "needs_attention": false,
      "score": 84.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tsu-community-bus",
      "name": "Tsu City Community Bus (\u6d25\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tsubame-community-bus",
      "name": "Tsubame City Community Bus (\u71d5\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tsuchiura-city-tsuchimaru-bus",
      "name": "Tsuchiura City Tsuchimaru Bus (\u571f\u6d66\u5e02\u3064\u3061\u307e\u308b\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "tsugaru-city-community-transit",
      "name": "Tsugaru City Community Transit (\u3064\u304c\u308b\u5e02\u5730\u57df\u5185\u4ea4\u901a)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "tsukubane-go",
      "name": "Tsukubane-go (\u3064\u304f\u3070\u306d\u53f7)",
      "needs_attention": false,
      "score": 80.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 150,
      "expiry_status": "current",
      "grade": "B",
      "id": "turlock-transit",
      "name": "Turlock Transit",
      "needs_attention": false,
      "score": 80.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 154,
      "expiry_status": "current",
      "grade": "A",
      "id": "fr-pan-81618",
      "name": "T\u00e9l\u00e9ph\u00e9rique de la Bastille - Bulles de Grenoble",
      "needs_attention": false,
      "score": 97.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add feed_contact_email to feed_info.txt.",
      "top_fix_code": "scorecard_no_feed_contact"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 577,
      "expiry_status": "current",
      "grade": "C",
      "id": "fr-pan-82880",
      "name": "T\u00e9l\u00e9ph\u00e9rique Papang",
      "needs_attention": false,
      "score": 73.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 138,
      "expiry_status": "current",
      "grade": "D",
      "id": "tuke-busz-pecs",
      "name": "T\u00fcke Busz (P\u00e9cs)",
      "needs_attention": false,
      "score": 65.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "uchinada-town-bus",
      "name": "Uchinada Town Community Bus (\u5185\u7058\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 281,
      "expiry_status": "current",
      "grade": "B",
      "id": "ueda-bus",
      "name": "Ueda Bus (\u4e0a\u7530\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "ueda-city-orange-bus",
      "name": "Ueda City Orange Bus (\u4e0a\u7530\u5e02\u8857\u5730\u5faa\u74b0\u30d0\u30b9\u30fb\u30aa\u30ec\u30f3\u30b8\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "ukmerge-public-transport",
      "name": "Ukmerg\u0117 public transport",
      "needs_attention": false,
      "score": 60.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "ulster-county-area-transit",
      "name": "Ulster County Area Transit",
      "needs_attention": false,
      "score": 57.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "B",
      "id": "union-gap",
      "name": "Union Gap",
      "needs_attention": false,
      "score": 83.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 175,
      "expiry_status": "current",
      "grade": "B",
      "id": "up-express",
      "name": "Union Pearson Express (UP Express)",
      "needs_attention": false,
      "score": 83.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_phone_number' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_phone_number"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "uozu-community-bus",
      "name": "Uozu Community Bus (\u9b5a\u6d25\u5e02\u6c11\u30d0\u30b9)",
      "needs_attention": false,
      "score": 69.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "upper-arkansas-area-council-of-governments",
      "name": "Upper Arkansas Area Council of Governments Flex",
      "needs_attention": false,
      "score": 72.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "upper-merion-rambler",
      "name": "Upper Merion Rambler",
      "needs_attention": false,
      "score": 81.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "C",
      "id": "usf-bull-runner",
      "name": "USF Bull Runner",
      "needs_attention": false,
      "score": 74.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 2425,
      "expiry_status": "current",
      "grade": "D",
      "id": "utena-public-transport",
      "name": "Utena public transport",
      "needs_attention": false,
      "score": 69.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 126,
      "expiry_status": "current",
      "grade": "B",
      "id": "vail-transit",
      "name": "Vail Transit",
      "needs_attention": false,
      "score": 80.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "valley-metro-2274",
      "name": "Valley Metro",
      "needs_attention": false,
      "score": 33.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 84,
      "expiry_status": "current",
      "grade": "C",
      "id": "valley-metro-vm",
      "name": "Valley Metro (VM)",
      "needs_attention": false,
      "score": 79.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "F",
      "id": "valley-transit-wi-2069",
      "name": "Valley Transit (WI)",
      "needs_attention": false,
      "score": 58.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "B",
      "id": "valparaiso-transit",
      "name": "Valparaiso Transit",
      "needs_attention": false,
      "score": 84.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8917,
      "expiry_status": "current",
      "grade": "D",
      "id": "varena-public-transport",
      "name": "Var\u0117na public transport",
      "needs_attention": false,
      "score": 68.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "vbb-berlin-brandenburg-flex",
      "name": "VBB GTFS-Flex demand-responsive services",
      "needs_attention": false,
      "score": 49.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'missing_prior_notice_duration_min' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "missing_prior_notice_duration_min"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "B",
      "id": "ventura-county-transportation-commission-3096",
      "name": "Ventura County Transportation Commission",
      "needs_attention": false,
      "score": 82.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "F",
      "id": "vvs-stuttgart",
      "name": "Verkehrs- und Tarifverbund Stuttgart (VVS)",
      "needs_attention": false,
      "score": 40.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "D",
      "id": "vgf-freudenstadt",
      "name": "Verkehrs-Gemeinschaft Landkreis Freudenstadt (VGF)",
      "needs_attention": false,
      "score": 66.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "vgc-calw",
      "name": "Verkehrsgesellschaft B\u00e4derkreis Calw (VGC)",
      "needs_attention": false,
      "score": 51.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "vbb-berlin-brandenburg",
      "name": "Verkehrsverbund Berlin-Brandenburg (VBB)",
      "needs_attention": false,
      "score": 43.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "vgn-nurnberg",
      "name": "Verkehrsverbund Gro\u00dfraum N\u00fcrnberg (VGN)",
      "needs_attention": false,
      "score": 47.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "vhb-hegau-bodensee",
      "name": "Verkehrsverbund Hegau-Bodensee (VHB)",
      "needs_attention": false,
      "score": 58.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_character' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_character"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "vpe-pforzheim-enzkreis",
      "name": "Verkehrsverbund Pforzheim-Enzkreis (VPE)",
      "needs_attention": false,
      "score": 50.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "vrn-rhein-neckar",
      "name": "Verkehrsverbund Rhein-Neckar (VRN)",
      "needs_attention": false,
      "score": 36.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "vrs-rhein-sieg",
      "name": "Verkehrsverbund Rhein-Sieg (VRS)",
      "needs_attention": false,
      "score": 36.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "trip_distance_exceeds_shape_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "B",
      "id": "vermont-translines",
      "name": "Vermont Translines",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 97,
      "expiry_status": "current",
      "grade": "C",
      "id": "via-rail-canada",
      "name": "VIA Rail Canada",
      "needs_attention": false,
      "score": 78.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 3438,
      "expiry_status": "current",
      "grade": "F",
      "id": "vilnius-district-public-transport",
      "name": "Vilnius district public transport",
      "needs_attention": false,
      "score": 60.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 364,
      "expiry_status": "current",
      "grade": "C",
      "id": "vilnius-public-transport-judu",
      "name": "Vilnius public transport (JUDU)",
      "needs_attention": false,
      "score": 70.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "B",
      "id": "vine-transit",
      "name": "VINE Transit",
      "needs_attention": false,
      "score": 87.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 71,
      "expiry_status": "current",
      "grade": "C",
      "id": "vineyard-fast-ferry",
      "name": "Vineyard Fast Ferry",
      "needs_attention": false,
      "score": 76.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 333,
      "expiry_status": "current",
      "grade": "D",
      "id": "visaginas-public-transport",
      "name": "Visaginas public transport",
      "needs_attention": false,
      "score": 63.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "vkt-vestfold",
      "name": "VKT (Vestfold Kollektivtrafikk)",
      "needs_attention": false,
      "score": 64.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 124,
      "expiry_status": "current",
      "grade": "F",
      "id": "vy-rail",
      "name": "Vy (national rail)",
      "needs_attention": false,
      "score": 59.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Re-generate shape distances in your export; flag to your vendor if it persists.",
      "top_fix_code": "decreasing_or_equal_stop_time_distance"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 210,
      "expiry_status": "current",
      "grade": "F",
      "id": "vy-express-coach",
      "name": "Vy Express (Vy Buss)",
      "needs_attention": false,
      "score": 58.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "wahkiakum-ferry-2193",
      "name": "Wahkiakum Ferry",
      "needs_attention": false,
      "score": 83.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "B",
      "id": "wahkiakum-on-the-move",
      "name": "Wahkiakum on the Move",
      "needs_attention": false,
      "score": 81.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "wako-city-loop-bus",
      "name": "Wako City Loop Bus Wakoba (\u548c\u5149\u5e02\u5185\u5faa\u74b0\u30d0\u30b9\u300c\u308f\u3053\u3070\u300d)",
      "needs_attention": false,
      "score": 81.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "B",
      "id": "wallowa-community-connection-wcc-northeast-oregon-public-transit",
      "name": "Wallowa Community Connection (WCC), Northeast Oregon Public Transit",
      "needs_attention": false,
      "score": 83.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 308,
      "expiry_status": "current",
      "grade": "D",
      "id": "waltti-hameenlinna",
      "name": "Waltti (H\u00e4meenlinna)",
      "needs_attention": false,
      "score": 64.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 70,
      "expiry_status": "current",
      "grade": "D",
      "id": "waltti-joensuu",
      "name": "Waltti (Joensuu)",
      "needs_attention": false,
      "score": 69.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 308,
      "expiry_status": "current",
      "grade": "D",
      "id": "waltti-jyvaskyla",
      "name": "Waltti (Jyv\u00e4skyl\u00e4)",
      "needs_attention": false,
      "score": 65.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_character' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_character"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "F",
      "id": "waltti-kotka",
      "name": "Waltti (Kotka)",
      "needs_attention": false,
      "score": 44.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'transfer_with_invalid_trip_and_route' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "transfer_with_invalid_trip_and_route"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 308,
      "expiry_status": "current",
      "grade": "C",
      "id": "waltti-kouvola",
      "name": "Waltti (Kouvola)",
      "needs_attention": false,
      "score": 75.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "waltti-lahti-region",
      "name": "Waltti (Lahti region)",
      "needs_attention": false,
      "score": 64.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 19875,
      "expiry_status": "current",
      "grade": "F",
      "id": "waltti-lappeenranta",
      "name": "Waltti (Lappeenranta)",
      "needs_attention": false,
      "score": 56.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_url"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "F",
      "id": "waltti-mikkeli",
      "name": "Waltti (Mikkeli)",
      "needs_attention": false,
      "score": 57.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'invalid_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "invalid_url"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "waltti-oulu",
      "name": "Waltti (Oulu)",
      "needs_attention": false,
      "score": 65.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 308,
      "expiry_status": "current",
      "grade": "D",
      "id": "waltti-pori",
      "name": "Waltti (Pori)",
      "needs_attention": false,
      "score": 66.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "D",
      "id": "waltti-vaasa",
      "name": "Waltti (Vaasa)",
      "needs_attention": false,
      "score": 63.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "C",
      "id": "washington-county-transit-2286",
      "name": "Washington County Transit",
      "needs_attention": false,
      "score": 79.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "B",
      "id": "washington-park-shuttle",
      "name": "Washington Park Shuttle",
      "needs_attention": false,
      "score": 86.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "washington-state-department-of-transportation-wsdot-apple-line",
      "name": "Washington State Department of Transportation (WSDOT Apple Line)",
      "needs_attention": false,
      "score": 70.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "wave-transit",
      "name": "Wave Transit",
      "needs_attention": false,
      "score": 72.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 509,
      "expiry_status": "current",
      "grade": "F",
      "id": "west-coast-motors",
      "name": "West Coast Motors",
      "needs_attention": false,
      "score": 59.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 78,
      "expiry_status": "current",
      "grade": "D",
      "id": "westchester-county-bee-line-system-wcdot",
      "name": "Westchester County Bee-Line System (WCDOT)",
      "needs_attention": false,
      "score": 66.0,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 297,
      "expiry_status": "current",
      "grade": "C",
      "id": "wexford-bus",
      "name": "Wexford Bus",
      "needs_attention": false,
      "score": 74.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "B",
      "id": "wheatland-ferry",
      "name": "Wheatland Ferry",
      "needs_attention": false,
      "score": 82.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every terminal. A field survey can start with the busiest terminals.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 8916,
      "expiry_status": "current",
      "grade": "D",
      "id": "whitehorse-transit",
      "name": "Whitehorse Transit (Yukon)",
      "needs_attention": false,
      "score": 60.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 132,
      "expiry_status": "current",
      "grade": "F",
      "id": "wiener-linien",
      "name": "Wiener Linien",
      "needs_attention": false,
      "score": 58.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 91,
      "expiry_status": "current",
      "grade": "C",
      "id": "williamsburg-area-transit-authority-2438",
      "name": "Williamsburg Area Transit Authority Flex",
      "needs_attention": false,
      "score": 78.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 104,
      "expiry_status": "current",
      "grade": "D",
      "id": "winter-park-transit",
      "name": "Winter Park Transit",
      "needs_attention": false,
      "score": 67.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_timepoint_without_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_timepoint_without_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 183,
      "expiry_status": "current",
      "grade": "C",
      "id": "wintran",
      "name": "WinTran",
      "needs_attention": false,
      "score": 74.9,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 338,
      "expiry_status": "current",
      "grade": "C",
      "id": "xplore-dundee",
      "name": "Xplore Dundee",
      "needs_attention": false,
      "score": 72.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "xpress-2355",
      "name": "Xpress",
      "needs_attention": false,
      "score": 26.2,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-16",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export.",
      "top_fix_code": "scorecard_no_expiry_date"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "D",
      "id": "yaese-town-bus",
      "name": "Yaese Town Bus (\u516b\u91cd\u702c\u753a\u30d0\u30b9)",
      "needs_attention": false,
      "score": 65.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yaita-city-central-loop-bus",
      "name": "Yaita City Central Loop Bus (\u77e2\u677f\u5e02\u4e2d\u592e\u90e8\u5faa\u74b0\u8def\u7dda)",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 3438,
      "expiry_status": "current",
      "grade": "F",
      "id": "yakima-transit",
      "name": "Yakima Transit",
      "needs_attention": false,
      "score": 28.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yamagata-city-bus",
      "name": "Yamagata City Bus (\u5c71\u5f62\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 223,
      "expiry_status": "current",
      "grade": "C",
      "id": "yamagata-railway",
      "name": "Yamagata Railway (\u5c71\u5f62\u9244\u9053)",
      "needs_attention": false,
      "score": 76.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "yamatokoriyama-city-community-bus",
      "name": "Yamatokoriyama City Community Bus (\u5927\u548c\u90e1\u5c71\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 81.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yamatotakada-city-kibou-bus",
      "name": "Yamatotakada City Kibou-go Community Bus (\u5927\u548c\u9ad8\u7530\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u304d\u307c\u3046\u53f7)",
      "needs_attention": false,
      "score": 71.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 516,
      "expiry_status": "current",
      "grade": "B",
      "id": "yamhill-county-transit-area",
      "name": "Yamhill County Transit Area",
      "needs_attention": false,
      "score": 81.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "yanagawa-community-bus",
      "name": "Yanagawa City Community Bus (\u67f3\u5ddd\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9)",
      "needs_attention": false,
      "score": 80.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yanaizu-community-bus",
      "name": "Yanaizu Town Community Bus (\u67f3\u6d25\u753a\u753a\u6c11\u30d0\u30b9\u300c\u3075\u308c\u3042\u3044\u53f7\u300d)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "B",
      "id": "yanbaru-express-bus",
      "name": "Yanbaru Express Bus (\u3084\u3093\u3070\u308b\u6025\u884c\u30d0\u30b9)",
      "needs_attention": false,
      "score": 86.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yasu-city-onori-yasu-bus",
      "name": "Yasu City Onori-Yasu Bus (\u91ce\u6d32\u5e02\u30b3\u30df\u30d0\u30b9 \u304a\u306e\u308a\u3084\u3059)",
      "needs_attention": false,
      "score": 70.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "yokkaichi-community-bus",
      "name": "Yokkaichi City Bus (\u56db\u65e5\u5e02\u5e02\u81ea\u4e3b\u904b\u884c\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 607,
      "expiry_status": "current",
      "grade": "C",
      "id": "yokosuka-hamachan-bus",
      "name": "Yokosuka City Hamachan Bus (\u6a2a\u9808\u8cc0\u5e02\u30cf\u30de\u3061\u3083\u3093\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 120,
      "expiry_status": "current",
      "grade": "C",
      "id": "yonezawa-city-bus",
      "name": "Yonezawa City Bus (\u7c73\u6ca2\u5e02\u55b6\u30d0\u30b9)",
      "needs_attention": false,
      "score": 74.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "A",
      "id": "yosemite-valley-shuttle",
      "name": "Yosemite Valley Shuttle",
      "needs_attention": false,
      "score": 92.2,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yoshinogawa-city-bus",
      "name": "Yoshinogawa City Bus (\u5409\u91ce\u5ddd\u5e02\u4ee3\u66ff\u30d0\u30b9)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yotsukaido-city-yoppii",
      "name": "Yotsukaido City Loop Bus Yoppii (\u56db\u8857\u9053\u5e02\u5185\u5faa\u74b0\u30d0\u30b9\u300c\u30e8\u30c3\u30d4\u30a3\u300d)",
      "needs_attention": false,
      "score": 74.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "yuba-sutter-transit",
      "name": "Yuba-Sutter Transit",
      "needs_attention": false,
      "score": 79.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 729,
      "expiry_status": "current",
      "grade": "C",
      "id": "yuki-city-loop-bus",
      "name": "Yuki City Loop Bus (\u7d50\u57ce\u5e02\u5de1\u56de\u30d0\u30b9)",
      "needs_attention": false,
      "score": 76.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 152,
      "expiry_status": "current",
      "grade": "D",
      "id": "yuma-county-intergovernmental-public-transportation-authority-ycipta",
      "name": "Yuma County Intergovernmental Public Transportation Authority (YCIPTA)",
      "needs_attention": false,
      "score": 69.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1490,
      "expiry_status": "current",
      "grade": "D",
      "id": "zarasai-public-transport",
      "name": "Zarasai public transport",
      "needs_attention": false,
      "score": 62.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "C",
      "id": "zditm-szczecin",
      "name": "Zarz\u0105d Dr\u00f3g i Transportu Miejskiego w Szczecinie",
      "needs_attention": false,
      "score": 78.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 336,
      "expiry_status": "current",
      "grade": "F",
      "id": "zest-menton",
      "name": "Zest (Menton)",
      "needs_attention": false,
      "score": 52.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 153,
      "expiry_status": "current",
      "grade": "A",
      "id": "zion-canyon-shuttle",
      "name": "Zion Canyon Shuttle",
      "needs_attention": false,
      "score": 93.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-08-02",
      "top_fix": "Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead.",
      "top_fix_code": "scorecard_no_fare_data"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 66,
      "expiry_status": "current",
      "grade": "D",
      "id": "zkm-gdynia",
      "name": "ZKM Gdynia",
      "needs_attention": false,
      "score": 67.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "F",
      "id": "zoom-grand-chalon",
      "name": "Zoom (Le Grand Chalon)",
      "needs_attention": false,
      "score": 44.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'block_trips_with_overlapping_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "block_trips_with_overlapping_stop_times"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 126,
      "expiry_status": "current",
      "grade": "D",
      "id": "ostfold-kollektivtrafikk",
      "name": "\u00d8stfold kollektivtrafikk",
      "needs_attention": false,
      "score": 61.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26814,
      "expiry_status": "current",
      "grade": "D",
      "id": "salcininkai-public-transport",
      "name": "\u0160al\u010dininkai public transport",
      "needs_attention": false,
      "score": 67.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 309,
      "expiry_status": "current",
      "grade": "C",
      "id": "siauliai-city-public-transport",
      "name": "\u0160iauliai city public transport",
      "needs_attention": false,
      "score": 72.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 121,
      "expiry_status": "current",
      "grade": "D",
      "id": "siauliai-district-public-transport",
      "name": "\u0160iauliai district public transport",
      "needs_attention": false,
      "score": 60.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26450,
      "expiry_status": "current",
      "grade": "F",
      "id": "silute-public-transport",
      "name": "\u0160ilut\u0117 public transport",
      "needs_attention": false,
      "score": 59.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1612,
      "expiry_status": "current",
      "grade": "D",
      "id": "sirvintos-public-transport",
      "name": "\u0160irvintos public transport",
      "needs_attention": false,
      "score": 63.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 1643,
      "expiry_status": "current",
      "grade": "D",
      "id": "svencionys-public-transport",
      "name": "\u0160ven\u010dionys public transport",
      "needs_attention": false,
      "score": 64.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "C",
      "id": "osea-ammochostos",
      "name": "\u039f\u03a3\u0395\u0391 (Ammochostos)",
      "needs_attention": false,
      "score": 70.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "D",
      "id": "osypa-pafos",
      "name": "\u039f\u03a3\u03a5\u03a0\u0391 (Pafos)",
      "needs_attention": false,
      "score": 66.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 365,
      "expiry_status": "current",
      "grade": "C",
      "id": "cgm-sofia",
      "name": "\u0426\u0435\u043d\u0442\u044a\u0440 \u0437\u0430 \u0433\u0440\u0430\u0434\u0441\u043a\u0430 \u043c\u043e\u0431\u0438\u043b\u043d\u043e\u0441\u0442 (Sofia Urban Mobility Center)",
      "needs_attention": false,
      "score": 76.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "amacity-amashijunkaibasu",
      "name": "\u3042\u307e\u5e02\u5de1\u56de\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "inabecity-fukushibus",
      "name": "\u3044\u306a\u3079\u5e02\u798f\u7949\u30d0\u30b9",
      "needs_attention": false,
      "score": 81.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kitashitara-odekakehokusetsu",
      "name": "\u304a\u3067\u304b\u3051\u5317\u8a2d\uff08\u8a2d\u697d\u753a\u30fb\u6771\u6804\u753a\u30fb\u8c4a\u6839\u6751\uff09 (\u5317\u8a2d\u697d\u90e1\u516c\u5171\u4ea4\u901a\u6d3b\u6027\u5316\u5354\u8b70\u4f1a)",
      "needs_attention": false,
      "score": 72.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 87,
      "expiry_status": "current",
      "grade": "C",
      "id": "kisokoikirengo-kiso-bus",
      "name": "\u304d\u305d\u30d0\u30b9 (\u6728\u66fd\u5e83\u57df\u9023\u5408)",
      "needs_attention": false,
      "score": 75.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 161,
      "expiry_status": "current",
      "grade": "C",
      "id": "nisshincity-communitybus",
      "name": "\u304f\u308b\u308a\u3093\u3070\u3059\uff08\u65e5\u9032\u5e02\u5de1\u56de\u30d0\u30b9\uff09",
      "needs_attention": false,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 173,
      "expiry_status": "current",
      "grade": "C",
      "id": "okuwavillage-kuwachan-bus",
      "name": "\u304f\u308f\u3061\u3083\u3093\u30d0\u30b9 (\u5927\u6851\u6751)",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "kanicity-satsukibus",
      "name": "\u3055\u3064\u304d\u30d0\u30b9 (\u53ef\u5150\u5e02)",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "top_fix_code": "scorecard_wheelchair_accessible_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "suzakicity-suzakashiminbus",
      "name": "\u3059\u3056\u304b\u5e02\u6c11\u30d0\u30b9 (\u9808\u5742\u5e02)",
      "needs_attention": false,
      "score": 74.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "kuratetown-kuratetownsmilebusmiyawakaline",
      "name": "\u3059\u307e\u3044\u308b\u30d0\u30b9\u307f\u3084\u308f\u304b\u7dda (\u978d\u624b\u753a)",
      "needs_attention": false,
      "score": 83.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tsurugitown-tsurugitownbus",
      "name": "\u3064\u308b\u304e\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30fc\u30d0\u30b9",
      "needs_attention": false,
      "score": 74.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "toyoyamatown-communitybus",
      "name": "\u3068\u3088\u3084\u307e\u30bf\u30a6\u30f3\u30d0\u30b9 (\u8c4a\u5c71\u753a)",
      "needs_attention": false,
      "score": 77.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "aichi-miyoshicity-sansanbus",
      "name": "\u307f\u3088\u3057\u5e02\u3055\u3093\u3055\u3093\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "ichikawatown-communitybus",
      "name": "\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9 (\u5e02\u5ddd\u753a)",
      "needs_attention": false,
      "score": 77.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hyogo-kamikawatown-communitybus",
      "name": "\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9 (\u795e\u6cb3\u753a)",
      "needs_attention": false,
      "score": 76.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'stop_time_with_arrival_before_previous_departure_time' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "stop_time_with_arrival_before_previous_departure_time"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hichisotown-choeibus",
      "name": "\u4e03\u5b97\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 92,
      "expiry_status": "current",
      "grade": "C",
      "id": "miharavillage-gtfs-miharavill-bus",
      "name": "\u4e09\u539f\u6751\u300c\u4e09\u539f\u30d0\u30b9\u300d",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 333,
      "expiry_status": "current",
      "grade": "C",
      "id": "agematsutown-agematu",
      "name": "\u4e0a\u677e\u753a\u516c\u5171\u4ea4\u901a",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "B",
      "id": "nakatosatown-gtfs-nakatosatown-bus",
      "name": "\u4e2d\u571f\u4f50\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 81.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nakayamatown-nakayamatown",
      "name": "\u4e2d\u5c71\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "nakadomaritown-nakadomari-communitybus",
      "name": "\u4e2d\u6cca\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hisayamatown-hisayamaikobus",
      "name": "\u4e45\u5c71\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9 \u30a4\u30b3\u30d0\u30b9",
      "needs_attention": false,
      "score": 79.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 147,
      "expiry_status": "current",
      "grade": "C",
      "id": "niyodogawatown-gtfs-niyodogawatown-townsbus",
      "name": "\u4ec1\u6dc0\u5ddd\u753a\u753a\u6c11\u30d0\u30b9",
      "needs_attention": false,
      "score": 77.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "fukuokacity-imajukumeinohamaline",
      "name": "\u4eca\u5bbf\u59ea\u6d5c\u7dda\u4e57\u5408\u30d0\u30b9 (\u798f\u5ca1\u5e02)",
      "needs_attention": false,
      "score": 85.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "sakawatown-gtfs-sakawatown-bus",
      "name": "\u4f50\u5ddd\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3055\u304b\u308f\u3050\u308b\u3050\u308b\u30d0\u30b9\u300d",
      "needs_attention": false,
      "score": 80.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hachinohecity-hachinohe-nango",
      "name": "\u516b\u6238\u5e02\u5357\u90f7\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 89,
      "expiry_status": "current",
      "grade": "C",
      "id": "rokkashovillage-rokkasho-sharedtaxi",
      "name": "\u516d\u30f6\u6240\u6751\u4e57\u5408\u30bf\u30af\u30b7\u30fc",
      "needs_attention": false,
      "score": 73.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kitanagoyacity-communitybus",
      "name": "\u5317\u540d\u53e4\u5c4b\u5e02\u3000\u5e02\u5185\u5faa\u74b0\u30d0\u30b9\u300c\u304d\u305f\u30d0\u30b9\u300d",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 200,
      "expiry_status": "current",
      "grade": "C",
      "id": "kitajimatown-kitajimatownfukushibus",
      "name": "\u5317\u5cf6\u753a\u798f\u7949\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kitagawavillage-gtfs-kitagawavill-bus",
      "name": "\u5317\u5ddd\u6751\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 78.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nagisotown-communitybus",
      "name": "\u5357\u6728\u66fd\u753a\u5730\u57df\u30d0\u30b9",
      "needs_attention": false,
      "score": 77.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "C",
      "id": "shimantotown-gtfs-shimantotown-bus",
      "name": "\u56db\u4e07\u5341\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 77.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "sotogahamatown-sotogahama-townbus",
      "name": "\u5916\u30f6\u6d5c\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 73.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "takitown-choeibus",
      "name": "\u591a\u6c17\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 302,
      "expiry_status": "current",
      "grade": "C",
      "id": "oguchitown-communitybus",
      "name": "\u5927\u53e3\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 271,
      "expiry_status": "current",
      "grade": "C",
      "id": "odaitown-choeibus",
      "name": "\u5927\u53f0\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 77.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "B",
      "id": "otsukitown-gtfs-otsukitown-bus",
      "name": "\u5927\u6708\u753a\u300c\u307e\u3061\u306a\u304b\u5faa\u74b0\u7dda\u300d",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "oetown-oetown",
      "name": "\u5927\u6c5f\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 77.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "owanitown-owanitown-sunekarabus",
      "name": "\u5927\u9c10\u753a\u30b9\u30cd\u30ab\u30e9\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "miyawakacity-miyawakamunakataline",
      "name": "\u5bae\u7530\u30fb\u767e\u5408\u91ce\u7dda (\u5bae\u82e5\u5e02)",
      "needs_attention": false,
      "score": 81.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 332,
      "expiry_status": "current",
      "grade": "C",
      "id": "yamagata-ogunitown-ogunitown",
      "name": "\u5c0f\u56fd\u753a\u55b6\u30d0\u30b9 (\u5c71\u5f62\u770c\u5c0f\u56fd\u753a)",
      "needs_attention": false,
      "score": 73.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kosugevillage-kosugesoneibus",
      "name": "\u5c0f\u83c5\u6751\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 79.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "owasecity-fureaibus",
      "name": "\u5c3e\u9df2\u5e02\u3075\u308c\u3042\u3044\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "gifu-yamagatacity-communitybus",
      "name": "\u5c71\u770c\u5e02\u81ea\u4e3b\u904b\u884c\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 227,
      "expiry_status": "current",
      "grade": "C",
      "id": "yamanobetown-yamanobetown",
      "name": "\u5c71\u8fba\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "nagano-kawakamivillage-kawakamibus",
      "name": "\u5ddd\u4e0a\u6751\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 66.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Review the rule documentation for 'duplicate_key' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
      "top_fix_code": "duplicate_key"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "fukuoka-kawasakitown-kawasakitownfureaibus",
      "name": "\u5ddd\u5d0e\u753a\u3075\u308c\u3042\u3044\u30d0\u30b9",
      "needs_attention": false,
      "score": 81.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kawagoetown-fureaibus",
      "name": "\u5ddd\u8d8a\u753a\u3075\u308c\u3042\u3044\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "fukusakitown-junkai-fukuhime-fukusakikasairenkei",
      "name": "\u5de1\u56de\u30d0\u30b9/\u3075\u304f\u3072\u3081\u53f7/\u798f\u5d0e\u753a\u30fb\u52a0\u897f\u5e02\u9023\u643a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "shonaitown-shonaitown",
      "name": "\u5e84\u5185\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 73.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "wataraitown-choeibus",
      "name": "\u5ea6\u4f1a\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 285,
      "expiry_status": "current",
      "grade": "C",
      "id": "mitaketown-communitybus",
      "name": "\u5fa1\u5d69\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3075\u308c\u3042\u3044\u30d0\u30b9\u300d",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "enacity-communitybus",
      "name": "\u6075\u90a3\u5e02\u81ea\u4e3b\u904b\u884c\u30d0\u30b9\uff08\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\uff09",
      "needs_attention": false,
      "score": 72.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 90,
      "expiry_status": "current",
      "grade": "B",
      "id": "kamigoritown-ainorigo",
      "name": "\u611b\u306e\u308a\u53f7 (\u4e0a\u90e1\u753a)",
      "needs_attention": false,
      "score": 81.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tozawavillage-tozawavillagebus",
      "name": "\u6238\u6ca2\u6751\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 424,
      "expiry_status": "current",
      "grade": "C",
      "id": "ibigawatown-communitybus",
      "name": "\u63d6\u6590\u5ddd\u753a\u3075\u308c\u3042\u3044\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "shingovillage-shingo-mizubashogo",
      "name": "\u65b0\u90f7\u6751\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 74.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "shiga-hinotown-choueibus",
      "name": "\u65e5\u91ce\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "mie-meiwatown-chominbus",
      "name": "\u660e\u548c\u753a\u753a\u6c11\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kasugacity-yayoi-kasuga",
      "name": "\u6625\u65e5\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u3084\u3088\u3044",
      "needs_attention": false,
      "score": 74.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yamagata-asahitown-asahitown",
      "name": "\u671d\u65e5\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 74.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kisosakitown-communitybus",
      "name": "\u6728\u66fd\u5cac\u753a\u81ea\u4e3b\u904b\u884c\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 66,
      "expiry_status": "current",
      "grade": "C",
      "id": "kisovillage-kisovill",
      "name": "\u6728\u7956\u6751\u516c\u5171\u4ea4\u901a",
      "needs_attention": false,
      "score": 74.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "motosucity-shieibus",
      "name": "\u672c\u5de3\u5e02\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "murayamacity-murayamacity",
      "name": "\u6751\u5c71\u5e02\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "higashimiyoshitown-higashimiyoshitownbus",
      "name": "\u6771\u307f\u3088\u3057\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tohokutown-tohoku-town-bus",
      "name": "\u6771\u5317\u753a\u753a\u6c11\u30d0\u30b9",
      "needs_attention": false,
      "score": 71.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 424,
      "expiry_status": "current",
      "grade": "C",
      "id": "tointown-communitybus",
      "name": "\u6771\u54e1\u753a\u300c\u30aa\u30ec\u30f3\u30b8\u30d0\u30b9\u300d",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "higashiuratown-communitybus",
      "name": "\u6771\u6d66\u753a\u904b\u884c\u30d0\u30b9\u3000\u3046\u30fb\u3089\u30fb\u3089",
      "needs_attention": false,
      "score": 77.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "sekicity-itadorifureaibus",
      "name": "\u677f\u53d6\u3075\u308c\u3042\u3044\u30d0\u30b9 (\u95a2\u5e02)",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "taketoyotown-communitybus",
      "name": "\u6b66\u8c4a\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3086\u3081\u3053\u308d\u3093\u300d",
      "needs_attention": false,
      "score": 75.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 227,
      "expiry_status": "current",
      "grade": "C",
      "id": "nagano-ikedatown-ikedatownbus",
      "name": "\u6c60\u7530\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 72.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "kahokutown-kahokutown",
      "name": "\u6cb3\u5317\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "kochi-tsunotown-gtfs-tsunotown-bus",
      "name": "\u6d25\u91ce\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\u300c\u3064\u306e\u30d0\u30b9\u300d",
      "needs_attention": false,
      "score": 74.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kaizucity-communitybus",
      "name": "\u6d77\u6d25\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 77.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "kaiyotown-kaiyotownbus",
      "name": "\u6d77\u967d\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "soedatown-soedamachibus",
      "name": "\u6dfb\u7530\u753a\u30d0\u30b9",
      "needs_attention": false,
      "score": 78.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "otakivillage-otaki-village",
      "name": "\u738b\u6edd\u6751",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "mizunamicity-communitybus",
      "name": "\u745e\u6d6a\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "shinonsentown-yumetsubame",
      "name": "\u753a\u6c11\u30d0\u30b9\u5922\u3064\u3070\u3081 (\u65b0\u6e29\u6cc9\u753a)",
      "needs_attention": false,
      "score": 62.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_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.",
      "top_fix_code": "foreign_key_violation"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "shiratakatown-shiratakatown",
      "name": "\u767d\u9df9\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "mamurogawatown-mamurogawatown",
      "name": "\u771f\u5ba4\u5ddd\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 73.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 151,
      "expiry_status": "current",
      "grade": "C",
      "id": "chiryucity-communitybus",
      "name": "\u77e5\u7acb\u5e02\u300c\u30df\u30cb\u30d0\u30b9\u300d\uff08\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9\uff09",
      "needs_attention": false,
      "score": 71.5,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 69,
      "expiry_status": "current",
      "grade": "C",
      "id": "tateyamatown-tateyama",
      "name": "\u7acb\u5c71\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 73.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "chikujotown-chikujotowncommunitybus",
      "name": "\u7bc9\u4e0a\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 80.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 182,
      "expiry_status": "current",
      "grade": "C",
      "id": "kihotown-chominbus",
      "name": "\u7d00\u5b9d\u753a\u6c11\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "hashimacity-hashimacitycommunitybus",
      "name": "\u7fbd\u5cf6\u5e02\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "chikugocity-hainuzukastationarealoopbus",
      "name": "\u7fbd\u72ac\u585a\u99c5\u5468\u8fba\u5faa\u74b0\u30d0\u30b9 (\u7b51\u5f8c\u5e02)",
      "needs_attention": false,
      "score": 80.4,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 242,
      "expiry_status": "current",
      "grade": "C",
      "id": "geiseivillage-gtfs-geiseivill-bus",
      "name": "\u82b8\u897f\u6751\u300c\u304a\u3067\u304b\u3051\u30d0\u30b9\u300d",
      "needs_attention": false,
      "score": 79.6,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "kandatown-kandatowncommunitybus",
      "name": "\u82c5\u7530\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 80.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "moriyamacity-kuruttobus",
      "name": "\u8349\u6d25\u5e02\u3001\u5b88\u5c71\u5e02\u3001\u6817\u6771\u5e02\u3000\u304f\u308b\u3063\u3068\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.0,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "iiyamacity-nanohanabus",
      "name": "\u83dc\u306e\u82b1\u30d0\u30b9\u5e02\u8857\u5730\u5faa\u74b0\u7dda (\u98ef\u5c71\u5e02)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yomogitavillage-yomogita-communitybus",
      "name": "\u84ec\u7530\u6751\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "nishikawatown-nishikawatown",
      "name": "\u897f\u5ddd\u753a\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 74.7,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "D",
      "id": "toyoakecity-himawaribus",
      "name": "\u8c4a\u660e\u5e02\u3072\u307e\u308f\u308a\u30d0\u30b9",
      "needs_attention": false,
      "score": 67.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Add the required column named in the finding to the flagged file.",
      "top_fix_code": "missing_required_column"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "ongatown-ongatowncommunitybus",
      "name": "\u9060\u8cc0\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "yamagata-kaneyamatown-kaneyamatown",
      "name": "\u91d1\u5c71\u753a\u55b6\u30d0\u30b9 (\u5c71\u5f62\u770c\u91d1\u5c71\u753a)",
      "needs_attention": false,
      "score": 75.3,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "hashikamitown-hashikamibus",
      "name": "\u968e\u4e0a\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 81.9,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 264,
      "expiry_status": "current",
      "grade": "C",
      "id": "aokivillage-aokisoneibus",
      "name": "\u9752\u6728\u6751\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "B",
      "id": "suetown-suetowncommunitybus",
      "name": "\u9808\u6075\u753a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30d0\u30b9",
      "needs_attention": false,
      "score": 80.8,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 257,
      "expiry_status": "current",
      "grade": "C",
      "id": "sakegawavillage-sakegawavillage",
      "name": "\u9bad\u5ddd\u6751\u55b6\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 241,
      "expiry_status": "current",
      "grade": "C",
      "id": "tsurutatown-tsuruta-townbus",
      "name": "\u9db4\u7530\u753a\u5730\u57df\u5de1\u56de\u30d0\u30b9",
      "needs_attention": false,
      "score": 76.2,
      "shapes_status": null,
      "snapshot_date": "2026-08-02",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "top_fix_code": "scorecard_wheelchair_boarding_unknown"
    }
  ],
  "needs_attention": 876,
  "rollup": {
    "id": "all",
    "name": "All tracked agencies"
  },
  "schema_version": "1.17",
  "shapes_readiness": {
    "at_risk": 47,
    "not_measured": 1031,
    "not_ready": 84,
    "ready": 1020,
    "total": 2182
  },
  "state_percentile": null
}
