{
  "agency_count": 52,
  "average_score": 53.7,
  "common_fixes": [
    {
      "agencies": 39,
      "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": 30,
      "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": 30,
      "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": 7,
      "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": 5,
      "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": 3,
      "code": "scorecard_missing_feed_info_dates",
      "fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export."
    },
    {
      "agencies": 3,
      "code": "scorecard_rt_service_alerts_unreachable",
      "fix": "Check the service alerts endpoint with your AVL vendor; it should return a fresh GTFS-Realtime protobuf on every request."
    },
    {
      "agencies": 3,
      "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": 3,
      "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": 3,
      "code": "invalid_input_files_in_subfolder",
      "fix": "Review the rule documentation for 'invalid_input_files_in_subfolder' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    },
    {
      "agencies": 3,
      "code": "scorecard_missing_headsigns",
      "fix": "Populate trip_headsign to match what the bus displays."
    },
    {
      "agencies": 3,
      "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": 2,
      "code": "fast_travel_between_consecutive_stops",
      "fix": "Check the flagged stop times for transposed minutes."
    },
    {
      "agencies": 2,
      "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": 2,
      "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": 2,
      "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": 2,
      "code": "stop_without_stop_time",
      "fix": "Remove retired stops from the export, or add them back to the trips that should serve them."
    }
  ],
  "expired": {
    "lapsed": 4,
    "stale": 26,
    "total": 30
  },
  "generated_at": "2026-07-09T09:08:55+00:00",
  "grade_distribution": {
    "A": 4,
    "C": 6,
    "D": 4,
    "F": 38
  },
  "members": [
    {
      "annual_trips": null,
      "attention_reason": "Service data has expired",
      "days_until_expiry": -1679,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sarasota-county-area-transit",
      "name": "Sarasota County Area Transit",
      "needs_attention": true,
      "score": 22.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": -2105,
      "expiry_status": "stale",
      "grade": "F",
      "id": "lakeland-area-mass-transit",
      "name": "Lakeland Area Mass Transit",
      "needs_attention": true,
      "score": 24.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": -2016,
      "expiry_status": "stale",
      "grade": "F",
      "id": "collier-area-transit-cat",
      "name": "Collier Area Transit (CAT)",
      "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": -440,
      "expiry_status": "stale",
      "grade": "F",
      "id": "breeze-transit",
      "name": "Breeze Transit",
      "needs_attention": true,
      "score": 31.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": -33,
      "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-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": -2040,
      "expiry_status": "stale",
      "grade": "F",
      "id": "manatee-county-area-transit",
      "name": "Manatee County Area Transit",
      "needs_attention": true,
      "score": 39.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": -1636,
      "expiry_status": "stale",
      "grade": "F",
      "id": "votran",
      "name": "Votran",
      "needs_attention": true,
      "score": 39.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": -1418,
      "expiry_status": "stale",
      "grade": "F",
      "id": "gainesville-regional-transit-system",
      "name": "Gainesville Regional Transit System",
      "needs_attention": true,
      "score": 40.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": -1286,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sunshine-bus-company",
      "name": "Sunshine Bus Company",
      "needs_attention": true,
      "score": 41.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": -1286,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sunshine-bus-company-350",
      "name": "Sunshine Bus Company",
      "needs_attention": true,
      "score": 41.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": -542,
      "expiry_status": "stale",
      "grade": "F",
      "id": "key-west-transit",
      "name": "Key West Transit",
      "needs_attention": true,
      "score": 44.7,
      "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": -542,
      "expiry_status": "stale",
      "grade": "F",
      "id": "key-west-transit-322",
      "name": "Key West Transit",
      "needs_attention": true,
      "score": 44.7,
      "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": "pasco-county-public-transportation",
      "name": "Pasco County Public Transportation",
      "needs_attention": true,
      "score": 45.3,
      "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": "pasco-county-public-transportation-340",
      "name": "Pasco County Public Transportation",
      "needs_attention": true,
      "score": 45.3,
      "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": -1346,
      "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": 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": -1346,
      "expiry_status": "stale",
      "grade": "F",
      "id": "escambia-county-area-transit-ecat-335",
      "name": "Escambia County Area Transit (ECAT)",
      "needs_attention": true,
      "score": 46.7,
      "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": -326,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "gainesville-regional-transit-system-2412",
      "name": "Gainesville Regional Transit System",
      "needs_attention": true,
      "score": 47.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": -1073,
      "expiry_status": "stale",
      "grade": "F",
      "id": "gowal",
      "name": "GoWal",
      "needs_attention": true,
      "score": 47.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": -555,
      "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-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 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": 49.2,
      "shapes_status": "ready",
      "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 has expired",
      "days_until_expiry": -2271,
      "expiry_status": "stale",
      "grade": "F",
      "id": "lake-county-connection",
      "name": "Lake County Connection",
      "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": -3476,
      "expiry_status": "stale",
      "grade": "F",
      "id": "hernando-county-transit-thebus",
      "name": "Hernando County Transit (TheBus)",
      "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": -3476,
      "expiry_status": "stale",
      "grade": "F",
      "id": "hernando-county-transit-thebus-341",
      "name": "Hernando County Transit (TheBus)",
      "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": -3660,
      "expiry_status": "stale",
      "grade": "F",
      "id": "emerald-coast-rider-ecr",
      "name": "Emerald Coast Rider (ECR)",
      "needs_attention": true,
      "score": 51.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": -3660,
      "expiry_status": "stale",
      "grade": "F",
      "id": "emerald-coast-rider-ecr-336",
      "name": "Emerald Coast Rider (ECR)",
      "needs_attention": true,
      "score": 51.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": -221,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "bay-town-trolley",
      "name": "Bay Town Trolley",
      "needs_attention": true,
      "score": 53.3,
      "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": -221,
      "expiry_status": "lapsed",
      "grade": "F",
      "id": "bay-town-trolley-337",
      "name": "Bay Town Trolley",
      "needs_attention": true,
      "score": 53.3,
      "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": -707,
      "expiry_status": "stale",
      "grade": "F",
      "id": "suntran-343",
      "name": "SunTran",
      "needs_attention": true,
      "score": 54.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 expires in 30 day(s)",
      "days_until_expiry": 30,
      "expiry_status": "expiring_soon",
      "grade": "F",
      "id": "central-florida-regional-transit-authority-lynx",
      "name": "Central Florida Regional Transit Authority (LYNX)",
      "needs_attention": true,
      "score": 54.9,
      "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": "Service data expires in 37 day(s)",
      "days_until_expiry": 37,
      "expiry_status": "current",
      "grade": "F",
      "id": "hillsborough-area-regional-transit-hart",
      "name": "Hillsborough Area Regional Transit (HART)",
      "needs_attention": true,
      "score": 56.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": "Service data has expired",
      "days_until_expiry": -676,
      "expiry_status": "stale",
      "grade": "F",
      "id": "starmetro",
      "name": "StarMetro",
      "needs_attention": true,
      "score": 56.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": -676,
      "expiry_status": "stale",
      "grade": "F",
      "id": "starmetro-344",
      "name": "StarMetro",
      "needs_attention": true,
      "score": 56.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": -1651,
      "expiry_status": "stale",
      "grade": "F",
      "id": "sanford-trolley",
      "name": "Sanford Trolley",
      "needs_attention": true,
      "score": 57.0,
      "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": "Score changed sharply on 2026-07-02",
      "days_until_expiry": 330,
      "expiry_status": "current",
      "grade": "C",
      "id": "manatee-county-area-transit-2258",
      "name": "Manatee County Area Transit",
      "needs_attention": true,
      "score": 74.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 window shortened unexpectedly on 2026-07-02",
      "days_until_expiry": 79,
      "expiry_status": "current",
      "grade": "A",
      "id": "broward-county-transit",
      "name": "Broward County Transit",
      "needs_attention": true,
      "score": 90.4,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Set wheelchair_accessible on every trip (most small-agency fleets are 100% accessible, so this is often a single default)."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": null,
      "expiry_status": "unknown",
      "grade": "F",
      "id": "citrus-county-transit",
      "name": "Citrus County Transit",
      "needs_attention": false,
      "score": 26.2,
      "shapes_status": null,
      "snapshot_date": "2026-06-27",
      "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": "lakexpress",
      "name": "LakeXpress",
      "needs_attention": false,
      "score": 26.2,
      "shapes_status": null,
      "snapshot_date": "2026-06-27",
      "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": "miami-dade-transit",
      "name": "Miami-Dade Transit",
      "needs_attention": false,
      "score": 26.2,
      "shapes_status": null,
      "snapshot_date": "2026-06-27",
      "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": 1086,
      "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": 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": 1086,
      "expiry_status": "current",
      "grade": "F",
      "id": "sarasota-county-area-transit-scat-348",
      "name": "Sarasota County Area Transit (SCAT)",
      "needs_attention": false,
      "score": 51.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": 132,
      "expiry_status": "current",
      "grade": "D",
      "id": "leetran",
      "name": "LeeTran",
      "needs_attention": false,
      "score": 66.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": 504,
      "expiry_status": "current",
      "grade": "D",
      "id": "south-florida-regional-transportation-authority-tri-rail",
      "name": "South Florida Regional Transportation Authority (Tri-Rail)",
      "needs_attention": false,
      "score": 67.4,
      "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": 72,
      "expiry_status": "current",
      "grade": "D",
      "id": "palm-tran",
      "name": "Palm Tran",
      "needs_attention": false,
      "score": 69.4,
      "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": 8577,
      "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-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": 1636,
      "expiry_status": "current",
      "grade": "C",
      "id": "usf-bull-runner",
      "name": "USF Bull Runner",
      "needs_attention": false,
      "score": 70.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": 176,
      "expiry_status": "current",
      "grade": "C",
      "id": "city-of-miami-beach",
      "name": "City of Miami Beach",
      "needs_attention": false,
      "score": 72.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": 176,
      "expiry_status": "current",
      "grade": "C",
      "id": "city-of-miami-gardens",
      "name": "City of Miami Gardens",
      "needs_attention": false,
      "score": 77.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": 83,
      "expiry_status": "current",
      "grade": "C",
      "id": "lake-county-connection-2255",
      "name": "Lake County Connection",
      "needs_attention": false,
      "score": 77.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": 295,
      "expiry_status": "current",
      "grade": "C",
      "id": "brightline-trains-llc",
      "name": "Brightline Trains LLC",
      "needs_attention": false,
      "score": 79.6,
      "shapes_status": "ready",
      "snapshot_date": "2026-07-09",
      "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."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 175,
      "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": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Add feed_info.txt with feed_start_date and feed_end_date to your export."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 114,
      "expiry_status": "current",
      "grade": "A",
      "id": "gulf-islands-national-seashore",
      "name": "Pensacola Bay City Ferry",
      "needs_attention": false,
      "score": 96.5,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Check the flagged stops' coordinates and the route shape in your scheduling software; re-snap whichever is misplaced."
    },
    {
      "annual_trips": null,
      "attention_reason": null,
      "days_until_expiry": 114,
      "expiry_status": "current",
      "grade": "A",
      "id": "dry-tortugas-national-park",
      "name": "DRTO Ferry Service",
      "needs_attention": false,
      "score": 99.8,
      "shapes_status": null,
      "snapshot_date": "2026-07-09",
      "top_fix": "Review the rule documentation for 'big_gap_in_service' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed."
    }
  ],
  "needs_attention": 35,
  "rollup": {
    "id": "florida",
    "name": "Florida agencies"
  },
  "schema_version": "1.7",
  "shapes_readiness": {
    "at_risk": 0,
    "not_measured": 43,
    "not_ready": 0,
    "ready": 9,
    "total": 52
  },
  "state_percentile": 35
}
