{
  "agency_count": 92,
  "average_score": 63.8,
  "common_fixes": [
    {
      "agencies": 84,
      "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": 63,
      "code": "scorecard_wheelchair_accessible_unknown",
      "fix": "Set wheelchair_accessible on every trip (most small-agency fleets are 100% accessible, so this is often a single default)."
    },
    {
      "agencies": 35,
      "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": 20,
      "code": "scorecard_missing_headsigns",
      "fix": "Populate trip_headsign to match what the bus displays."
    },
    {
      "agencies": 17,
      "code": "missing_required_column",
      "fix": "Review the rule documentation for 'missing_required_column' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 10,
      "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": 8,
      "code": "stop_without_stop_time",
      "fix": "Remove retired stops from the export, or add them back to the trips that should serve them."
    },
    {
      "agencies": 4,
      "code": "fast_travel_between_consecutive_stops",
      "fix": "Check the flagged stop times for transposed minutes."
    },
    {
      "agencies": 4,
      "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": 4,
      "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": 4,
      "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": "trip_distance_exceeds_shape_distance_below_threshold",
      "fix": "Review the rule documentation for 'trip_distance_exceeds_shape_distance_below_threshold' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 3,
      "code": "scorecard_rt_trip_updates_unreachable",
      "fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request."
    },
    {
      "agencies": 3,
      "code": "scorecard_rt_vehicle_positions_unreachable",
      "fix": "Check the vehicle positions endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request."
    },
    {
      "agencies": 2,
      "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": 2,
      "code": "scorecard_missing_feed_info_dates",
      "fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export."
    },
    {
      "agencies": 2,
      "code": "decreasing_or_equal_stop_time_distance",
      "fix": "Re-generate shape distances in your export; flag to your vendor if it persists."
    }
  ],
  "expired": {
    "lapsed": 5,
    "stale": 30,
    "total": 35
  },
  "generated_at": "2026-07-09T09:08:55+00:00",
  "grade_distribution": {
    "B": 24,
    "C": 23,
    "D": 4,
    "F": 41
  },
  "members": [
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -188,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "cherriots",
      "name": "Cherriots",
      "needs_attention": true,
      "score": 23.8,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1050,
      "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": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1050,
      "expiry_status": "stale",
      "grade": "F",
      "id": "south-metro-area-regional-transit-smart-248",
      "name": "South Metro Area Regional Transit (SMART)",
      "needs_attention": true,
      "score": 30.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -159,
      "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-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2246,
      "expiry_status": "stale",
      "grade": "F",
      "id": "water-avenue-shuttle",
      "name": "Water Avenue Shuttle",
      "needs_attention": true,
      "score": 41.5,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1134,
      "expiry_status": "stale",
      "grade": "F",
      "id": "shuttle-oregon",
      "name": "Shuttle Oregon",
      "needs_attention": true,
      "score": 42.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -18,
      "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": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3342,
      "expiry_status": "stale",
      "grade": "F",
      "id": "valley-retriever-busline",
      "name": "Valley Retriever Busline",
      "needs_attention": true,
      "score": 44.5,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1834,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-corvallis",
      "name": "City of Corvallis",
      "needs_attention": true,
      "score": 45.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1834,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-corvallis-136",
      "name": "City of Corvallis",
      "needs_attention": true,
      "score": 45.3,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1820,
      "expiry_status": "stale",
      "grade": "F",
      "id": "northwest-point",
      "name": "NorthWest POINT",
      "needs_attention": true,
      "score": 45.9,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1560,
      "expiry_status": "stale",
      "grade": "F",
      "id": "philomath-connection",
      "name": "Philomath Connection",
      "needs_attention": true,
      "score": 46.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1560,
      "expiry_status": "stale",
      "grade": "F",
      "id": "philomath-connection-878",
      "name": "Philomath Connection",
      "needs_attention": true,
      "score": 46.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -374,
      "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-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -374,
      "expiry_status": "stale",
      "grade": "F",
      "id": "kayak-transit-ctuir-272",
      "name": "Kayak Transit (CTUIR)",
      "needs_attention": true,
      "score": 46.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -116,
      "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": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -116,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "rogue-valley-transportation-district-rvtd-122",
      "name": "Rogue Valley Transportation District (RVTD)",
      "needs_attention": true,
      "score": 47.4,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2746,
      "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-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2746,
      "expiry_status": "stale",
      "grade": "F",
      "id": "blue-star-bus-256",
      "name": "Blue Star Bus",
      "needs_attention": true,
      "score": 47.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -807,
      "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-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -807,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cascades-east-transit-cet-138",
      "name": "Cascades East Transit (CET)",
      "needs_attention": true,
      "score": 48.4,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1820,
      "expiry_status": "stale",
      "grade": "F",
      "id": "southwest-point",
      "name": "SouthWest POINT",
      "needs_attention": true,
      "score": 48.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -403,
      "expiry_status": "stale",
      "grade": "F",
      "id": "utrans",
      "name": "UTrans",
      "needs_attention": true,
      "score": 48.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -403,
      "expiry_status": "stale",
      "grade": "F",
      "id": "utrans-123",
      "name": "UTrans",
      "needs_attention": true,
      "score": 48.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1820,
      "expiry_status": "stale",
      "grade": "F",
      "id": "cascade-point",
      "name": "Cascade POINT",
      "needs_attention": true,
      "score": 49.6,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1104,
      "expiry_status": "stale",
      "grade": "F",
      "id": "mt-bachelor",
      "name": "Mt. Bachelor",
      "needs_attention": true,
      "score": 50.2,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -2502,
      "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": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3295,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-2-city-shuttle",
      "name": "City 2 City Shuttle",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1820,
      "expiry_status": "stale",
      "grade": "F",
      "id": "eastern-point",
      "name": "Eastern Point",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1403,
      "expiry_status": "stale",
      "grade": "F",
      "id": "klamath-shuttle",
      "name": "Klamath Shuttle",
      "needs_attention": true,
      "score": 51.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -897,
      "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-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -897,
      "expiry_status": "stale",
      "grade": "F",
      "id": "city-of-milton-freewater-public-transportation-274",
      "name": "City of Milton-Freewater Public Transportation",
      "needs_attention": true,
      "score": 52.8,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3476,
      "expiry_status": "stale",
      "grade": "F",
      "id": "eugene-to-bend",
      "name": "Eugene to BEND",
      "needs_attention": true,
      "score": 54.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1408,
      "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": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -3476,
      "expiry_status": "stale",
      "grade": "F",
      "id": "eugene-to-coos-bay",
      "name": "Eugene to Coos Bay",
      "needs_attention": true,
      "score": 54.8,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export the feed with a calendar that reaches further out, and set feed_info feed_end_date past your next service change."
    },
    {
      "annual_trips": null,
      "attention_reason": "Grade slipped from D to F",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "rogue-valley-transportation-district-rvtd-3219",
      "name": "Rogue Valley Transportation District (RVTD)",
      "needs_attention": true,
      "score": 56.1,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 29 day(s)",
      "days_until_expiry": 29,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "washington-park-shuttle",
      "name": "Washington Park Shuttle",
      "needs_attention": true,
      "score": 58.8,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Re-export with a validity window that reaches at least 60 days out."
    },
    {
      "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": "Static feed for realtime",
      "needs_attention": true,
      "score": 66.7,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "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": "Static feed for realtime",
      "needs_attention": true,
      "score": 67.5,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 53 day(s)",
      "days_until_expiry": 53,
      "expiry_status": "current",
      "grade": "C",
      "id": "south-clackamas-transportation-district",
      "name": "South Clackamas Transportation District",
      "needs_attention": true,
      "score": 72.9,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 54 day(s)",
      "days_until_expiry": 54,
      "expiry_status": "current",
      "grade": "C",
      "id": "malheur-council-on-aging-community-services",
      "name": "Malheur Council on Aging & Community Services",
      "needs_attention": true,
      "score": 73.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 54 day(s)",
      "days_until_expiry": 54,
      "expiry_status": "current",
      "grade": "C",
      "id": "buena-vista-ferry",
      "name": "Buena Vista Ferry",
      "needs_attention": true,
      "score": 73.3,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 53 day(s)",
      "days_until_expiry": 53,
      "expiry_status": "current",
      "grade": "C",
      "id": "basin-transit-service-bts",
      "name": "Basin Transit Service (BTS)",
      "needs_attention": true,
      "score": 75.5,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 54 day(s)",
      "days_until_expiry": 54,
      "expiry_status": "current",
      "grade": "C",
      "id": "let-er-bus",
      "name": "Let'er Bus",
      "needs_attention": true,
      "score": 75.6,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 53 day(s)",
      "days_until_expiry": 53,
      "expiry_status": "current",
      "grade": "C",
      "id": "central-oregon-breeze",
      "name": "Central Oregon Breeze",
      "needs_attention": true,
      "score": 77.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 54 day(s)",
      "days_until_expiry": 54,
      "expiry_status": "current",
      "grade": "C",
      "id": "oregon-express-shuttle",
      "name": "Oregon Express Shuttle",
      "needs_attention": true,
      "score": 77.6,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 54 day(s)",
      "days_until_expiry": 54,
      "expiry_status": "current",
      "grade": "C",
      "id": "quail-trail-public-transit",
      "name": "Quail Trail Public Transit",
      "needs_attention": true,
      "score": 78.6,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 53 day(s)",
      "days_until_expiry": 53,
      "expiry_status": "current",
      "grade": "C",
      "id": "harney-county",
      "name": "Harney County",
      "needs_attention": true,
      "score": 79.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 54 day(s)",
      "days_until_expiry": 54,
      "expiry_status": "current",
      "grade": "B",
      "id": "rhody-express",
      "name": "Rhody Express",
      "needs_attention": true,
      "score": 80.3,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 54 day(s)",
      "days_until_expiry": 54,
      "expiry_status": "current",
      "grade": "B",
      "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": 81.4,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 53 day(s)",
      "days_until_expiry": 53,
      "expiry_status": "current",
      "grade": "B",
      "id": "pacific-crest-bus-lines",
      "name": "Pacific Crest Bus Lines",
      "needs_attention": true,
      "score": 82.5,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 53 day(s)",
      "days_until_expiry": 53,
      "expiry_status": "current",
      "grade": "B",
      "id": "woodburn-transit-service-wts",
      "name": "Woodburn Transit Service (WTS)",
      "needs_attention": true,
      "score": 84.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": "Service data expires in 53 day(s)",
      "days_until_expiry": 53,
      "expiry_status": "current",
      "grade": "B",
      "id": "diamond-express",
      "name": "Diamond Express",
      "needs_attention": true,
      "score": 84.6,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "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-07-08",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "high-desert-point-636",
      "name": "High Desert Point",
      "needs_attention": false,
      "score": 31.3,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-08",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export."
    },
    {
      "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-08",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "hut-airport-shuttle-635",
      "name": "HUT Airport Shuttle",
      "needs_attention": false,
      "score": 31.5,
      "shapes_status": "not_ready",
      "snapshot_date": "2026-07-08",
      "top_fix": "Add feed_start_date and feed_end_date to feed_info.txt and include calendar end dates in your export."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 175,
      "expiry_status": "current",
      "grade": "D",
      "id": "city-of-milton-freewater-public-transportation-2189",
      "name": "City of Milton-Freewater Public Transportation",
      "needs_attention": false,
      "score": 69.3,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 84,
      "expiry_status": "current",
      "grade": "D",
      "id": "benton-area-transportation",
      "name": "Benton Area Transportation",
      "needs_attention": false,
      "score": 70.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Check the trip updates endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 142,
      "expiry_status": "current",
      "grade": "C",
      "id": "trimet-portland-streetcar",
      "name": "TriMet, Portland Streetcar",
      "needs_attention": false,
      "score": 70.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "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."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 206,
      "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-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 26838,
      "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-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "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": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 540,
      "expiry_status": "current",
      "grade": "C",
      "id": "city-of-corvallis-2283",
      "name": "City of Corvallis",
      "needs_attention": false,
      "score": 73.5,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 145,
      "expiry_status": "current",
      "grade": "C",
      "id": "people-mover",
      "name": "People Mover",
      "needs_attention": false,
      "score": 74.8,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 540,
      "expiry_status": "current",
      "grade": "C",
      "id": "philomath-connection-2205",
      "name": "Philomath Connection",
      "needs_attention": false,
      "score": 75.2,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 84,
      "expiry_status": "current",
      "grade": "C",
      "id": "burns-paiute-tribal-transit",
      "name": "Burns Paiute Tribal Transit",
      "needs_attention": false,
      "score": 75.5,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 145,
      "expiry_status": "current",
      "grade": "C",
      "id": "clackco-connects-clackamas-county-2741",
      "name": "Flex",
      "needs_attention": false,
      "score": 76.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "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."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 176,
      "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": 76.7,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 114,
      "expiry_status": "current",
      "grade": "C",
      "id": "canby-ferry",
      "name": "Canby Ferry",
      "needs_attention": false,
      "score": 79.3,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "expiry_status": "current",
      "grade": "C",
      "id": "linn-shuttle",
      "name": "Linn Shuttle",
      "needs_attention": false,
      "score": 79.3,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 145,
      "expiry_status": "current",
      "grade": "C",
      "id": "swan-island-evening-shuttle",
      "name": "Swan Island Evening Shuttle",
      "needs_attention": false,
      "score": 79.8,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 145,
      "expiry_status": "current",
      "grade": "C",
      "id": "sandy-area-metro-sam",
      "name": "Sandy Area Metro (SAM)",
      "needs_attention": false,
      "score": 80.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 145,
      "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": 80.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 84,
      "expiry_status": "current",
      "grade": "B",
      "id": "benton-area-transportation-3109",
      "name": "Benton Area Transportation - Flex V2",
      "needs_attention": false,
      "score": 80.7,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 176,
      "expiry_status": "current",
      "grade": "B",
      "id": "columbia-area-transit-cat",
      "name": "Columbia Area Transit (CAT)",
      "needs_attention": false,
      "score": 81.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 540,
      "expiry_status": "current",
      "grade": "B",
      "id": "yamhill-county-transit-area",
      "name": "Yamhill County Transit Area",
      "needs_attention": false,
      "score": 81.7,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 114,
      "expiry_status": "current",
      "grade": "B",
      "id": "wahkiakum-on-the-move",
      "name": "Wahkiakum on the Move",
      "needs_attention": false,
      "score": 81.8,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 114,
      "expiry_status": "current",
      "grade": "B",
      "id": "wahkiakum-on-the-move-249",
      "name": "Wahkiakum on the Move",
      "needs_attention": false,
      "score": 81.8,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 114,
      "expiry_status": "current",
      "grade": "B",
      "id": "wheatland-ferry",
      "name": "Wheatland Ferry",
      "needs_attention": false,
      "score": 82.2,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 84,
      "expiry_status": "current",
      "grade": "B",
      "id": "oregon-department-of-transportation",
      "name": "Oregon Department of Transportation",
      "needs_attention": false,
      "score": 83.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 84,
      "expiry_status": "current",
      "grade": "B",
      "id": "oregon-department-of-transportation-800",
      "name": "Oregon Department of Transportation",
      "needs_attention": false,
      "score": 83.1,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 176,
      "expiry_status": "current",
      "grade": "B",
      "id": "canby-area-transit-cat",
      "name": "Canby Area Transit (CAT)",
      "needs_attention": false,
      "score": 83.2,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 207,
      "expiry_status": "current",
      "grade": "B",
      "id": "ride-connection",
      "name": "Ride Connection",
      "needs_attention": false,
      "score": 83.4,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "expiry_status": "current",
      "grade": "B",
      "id": "caravan-airport-transportation",
      "name": "Caravan Airport Transportation",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 145,
      "expiry_status": "current",
      "grade": "B",
      "id": "clackco-connects-clackamas-county",
      "name": "ClackCo Connects (Clackamas County)",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 145,
      "expiry_status": "current",
      "grade": "B",
      "id": "clackco-connects-clackamas-county-312",
      "name": "ClackCo Connects (Clackamas County)",
      "needs_attention": false,
      "score": 84.0,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "expiry_status": "current",
      "grade": "B",
      "id": "astoria-riverfront-trolley",
      "name": "Astoria Riverfront Trolley",
      "needs_attention": false,
      "score": 84.7,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 84,
      "expiry_status": "current",
      "grade": "B",
      "id": "lincoln-county-transit-lct",
      "name": "Lincoln County Transit (LCT)",
      "needs_attention": false,
      "score": 84.8,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "expiry_status": "current",
      "grade": "B",
      "id": "curry-public-transit",
      "name": "Curry Public Transit",
      "needs_attention": false,
      "score": 84.9,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 176,
      "expiry_status": "current",
      "grade": "B",
      "id": "josephine-county-transit-jct",
      "name": "Josephine County Transit (JCT)",
      "needs_attention": false,
      "score": 84.9,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 115,
      "expiry_status": "current",
      "grade": "B",
      "id": "link-lane",
      "name": "Link Lane",
      "needs_attention": false,
      "score": 84.9,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops."
    }
  ],
  "needs_attention": 53,
  "rollup": {
    "id": "oregon",
    "name": "Oregon agencies"
  },
  "schema_version": "1.7",
  "shapes_readiness": {
    "at_risk": 0,
    "not_measured": 65,
    "not_ready": 8,
    "ready": 19,
    "total": 92
  },
  "state_percentile": 80
}
