{
  "agency": {
    "country": "IE",
    "id": "dublin-bus",
    "name": "Dublin Bus (Transport for Ireland)",
    "subdivision_code": "IE-D",
    "subdivision_name": "Dublin"
  },
  "categories": {
    "completeness": {
      "details": {
        "accessibility": {
          "measures": "presence_not_usability",
          "score": 0.0,
          "stops_marked_accessible_pct": 0.0,
          "stops_marked_not_accessible_pct": 0.0,
          "stops_stated_pct": 0.0,
          "trips_stated_pct": 0.0
        },
        "accessibility_measures": "presence_not_usability",
        "cemv": {
          "declared": false,
          "supported": false
        },
        "components": {
          "contact": 15.0,
          "fares": 0.0,
          "headsigns": 15.0,
          "stop_names": 15.0,
          "wheelchair_stops": 0.0,
          "wheelchair_trips": 0.0
        },
        "fare_free": false,
        "fares": {
          "applied": false,
          "has_leg_rules": false,
          "has_products": false,
          "has_transfer_rules": false,
          "model": "none",
          "product_count": 0
        },
        "flex": {
          "booking_reachable": false,
          "booking_rule_count": 0,
          "has_booking_rules": false,
          "has_flex": false
        },
        "has_fares": false,
        "headsign_applicable_trips": 56054,
        "headsign_loop_exempt_trips": 0,
        "headsign_pct": 100.0,
        "headsign_scored_pct": 100.0,
        "mixed_case_stop_name_pct": 100.0,
        "pathways": {
          "has_entrances": false,
          "has_levels": false,
          "has_pathways": false,
          "has_stations": false,
          "has_step_free": false,
          "pathway_count": 0
        },
        "stops": 4334,
        "translations": {
          "feed_lang": "en",
          "has_translations": true,
          "languages": [
            "ga"
          ],
          "translated_tables": [
            "stops"
          ],
          "translation_count": 4306
        },
        "trips": 56054,
        "unmeasured_components": [],
        "wheelchair_accessible_pct": 0.0,
        "wheelchair_boarding_pct": 0.0,
        "wheelchair_marked_accessible_pct": 0.0,
        "wheelchair_marked_not_accessible_pct": 0.0
      },
      "findings": [
        {
          "code": "scorecard_wheelchair_boarding_unknown",
          "count": 4334,
          "effort": "A column in stops.txt; your scheduling software likely has it.",
          "fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
          "owner": "Likely your team",
          "points": 25.0,
          "severity": "WARNING",
          "what": "4334 of 4334 stops don't say whether a wheelchair user can board there.",
          "why": "Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all."
        },
        {
          "code": "scorecard_wheelchair_accessible_unknown",
          "count": 56054,
          "effort": "A default or per-trip field in your export.",
          "fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
          "owner": "Likely your export tool",
          "points": 15.0,
          "severity": "WARNING",
          "what": "56054 of 56054 trips don't say whether the vehicle is wheelchair accessible.",
          "why": "Even with accessible stops, riders need to know the bus itself can take them."
        },
        {
          "code": "scorecard_no_fare_data",
          "count": 1,
          "effort": "A small file for most flat-fare systems.",
          "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.",
          "owner": "",
          "points": 15.0,
          "severity": "WARNING",
          "what": "The feed contains no fare information.",
          "why": "Riders see 'fare unknown' in trip planners and can't budget their trip; visitors are most affected."
        }
      ],
      "name": "completeness",
      "score": 45.0,
      "status": "measured",
      "summary": "0% of stops state wheelchair accessibility (0% marked accessible, 0% marked not accessible). This measures what the feed publishes, not whether a stop is physically usable. Fare data is not published.",
      "weight": 0.25
    },
    "correctness": {
      "details": {
        "distinct_codes": 5,
        "instances_by_severity": {
          "ERROR": 0,
          "INFO": 5014,
          "WARNING": 421
        },
        "validator_version": "8.0.1"
      },
      "findings": [
        {
          "code": "fast_travel_between_consecutive_stops",
          "count": 419,
          "effort": "A few minutes per flagged trip.",
          "fix": "Check the flagged stop times for transposed minutes.",
          "owner": "",
          "points": 8.0,
          "severity": "WARNING",
          "what": "Some scheduled trips move faster between stops than a bus can.",
          "why": "Usually a typo'd stop time; riders get arrival times no bus can meet."
        },
        {
          "code": "fast_travel_between_far_stops",
          "count": 2,
          "effort": "Minutes per flagged trip once you open it.",
          "fix": "Check the two stop times for a wrong digit first. Then check whether a stop sits at the wrong coordinates, or a stop between them is missing.",
          "owner": "",
          "points": 4.0,
          "severity": "WARNING",
          "what": "Between two distant stops, the times imply a speed no bus reaches.",
          "why": "A rider gets a trip plan that cannot happen. Live systems then report delays that are not real."
        },
        {
          "code": "trip_headsign_matches_intermediate_stop",
          "count": 5012,
          "effort": "Usually a bulk edit in your scheduling software.",
          "fix": "Set trip_headsign to the trip's last stop or its overall destination.",
          "owner": "Likely your export tool",
          "points": 1.0,
          "severity": "INFO",
          "what": "Some trip headsigns name a stop along the way, not the final destination.",
          "why": "The sign should tell riders where the bus ends up, so a midpoint name can send them the wrong way."
        },
        {
          "code": "feed_valid_beyond_total_service_window",
          "count": 1,
          "effort": "Varies.",
          "fix": "Review the rule documentation for 'feed_valid_beyond_total_service_window' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
          "owner": "",
          "points": 0.5,
          "severity": "INFO",
          "what": "Feed valid beyond total service window (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        },
        {
          "code": "service_window_outside_feed_period",
          "count": 1,
          "effort": "Two fields in feed_info.txt, or one export setting.",
          "fix": "Widen feed_start_date and feed_end_date to cover all service dates, or fix the dates that fall outside.",
          "owner": "Likely your export tool",
          "points": 0.5,
          "severity": "INFO",
          "what": "Some service dates fall outside the date window set in feed_info.txt.",
          "why": "feed_info.txt should span every day your service runs, so apps know when the data applies."
        }
      ],
      "name": "correctness",
      "score": 86.0,
      "status": "measured",
      "summary": "The MobilityData validator flagged 5 kinds of issue across 5435 instances (0 error, 421 warning, 5014 informational).",
      "weight": 0.35
    },
    "freshness": {
      "details": {
        "days_until_expiry": 100,
        "effective_expiry_date": "2026-12-05",
        "feed_end_date": "2027-08-26",
        "feed_start_date": "2026-08-26",
        "feed_version": "AE26A141-5734-466C-971C-FA88C700A413",
        "has_feed_info": true,
        "last_service_date": "2026-12-05",
        "seasonal_boundary": false,
        "service_horizon_review_years": 10,
        "service_horizon_status": "within_review_threshold",
        "service_type": "fixed"
      },
      "findings": [],
      "name": "freshness",
      "score": 100.0,
      "status": "measured",
      "summary": "Service data covers the next 100 days.",
      "weight": 0.2
    },
    "realtime": {
      "name": "realtime",
      "status": "not_yet_measured",
      "summary": "Not scored yet. Nothing here counts against the grade.",
      "weight": 0.2
    }
  },
  "confidence": {
    "feed_age_days": 0,
    "fetch_source": "origin",
    "level": "medium",
    "measured_categories": 3,
    "notes": [
      "Realtime quality was not measured this run. It does not count against the grade.",
      "The feed was downloaded from the configured feed URL. Publisher ownership of that URL is not verified."
    ],
    "rt_windows": 0,
    "total_categories": 4
  },
  "conformance": {
    "awarded": false,
    "criteria": [
      {
        "detail": "Passes validation with no errors.",
        "key": "valid",
        "met": true
      },
      {
        "detail": "Service data covers the next 100 days.",
        "key": "current",
        "met": true
      },
      {
        "detail": "States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.",
        "key": "accessible",
        "met": false
      }
    ],
    "status": "not_yet",
    "summary": "One requirement remains for this feed to earn the conformance mark. States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.",
    "version": 2
  },
  "feed": {
    "license_note": "CC BY 4.0; published by Ireland's National Transport Authority.",
    "reachable": true,
    "sha256": "b145d12d21c272bbe326e315b3d52ceb4352d6b47221a6d778b1c9dc56757cad",
    "size_bytes": 37479556,
    "source_provenance": "unverified",
    "static_url": "https://www.transportforireland.ie/transitData/Data/GTFS_Dublin_Bus.zip"
  },
  "fetch": {
    "final_url": "https://www.transportforireland.ie/transitData/Data/GTFS_Dublin_Bus.zip",
    "max_attempts": 4,
    "reader_archive_profile": "raw-v1",
    "source": "origin",
    "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
  },
  "generated_at": "2026-08-27T00:00:00+00:00",
  "geo": {
    "bbox": [
      -6.6149,
      53.07068,
      -6.05331,
      53.6062
    ],
    "lat": 53.34299,
    "lon": -6.27283,
    "stop_count": 4334
  },
  "mode_profile": {
    "ferry_only": false,
    "graded": false,
    "has_ferry": false,
    "is_multimodal": false,
    "measured": true,
    "modes": [
      {
        "key": "bus",
        "label": "Bus",
        "route_count": 116,
        "trip_count": 56054,
        "trip_share_pct": 100.0
      }
    ],
    "primary_mode": "bus",
    "primary_mode_label": "Bus",
    "route_count": 116,
    "trip_count": 56054
  },
  "overall": {
    "grade": "C",
    "margin_to_lower_band": 6.7,
    "margin_to_next_band": 3.3,
    "score": 76.7
  },
  "recommendations": [
    {
      "category": "accessibility",
      "code": "scorecard_stop_name_needs_tts",
      "count": 589,
      "effort": "A short text field per affected stop; start with the busiest.",
      "fix": "Add tts_stop_name with the spoken form, e.g. 'Main Street and Second Avenue', for the affected stops.",
      "owner": "",
      "points": 0.0,
      "severity": "INFO",
      "what": "589 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set (\"St Pappin's Road\", \"Irishtown Rd\", \"Sean Moore Rd\", and more).",
      "why": "Riders who use a screen reader hear the raw name, so 'Main St & 2nd Ave' can come out as 'Main saint' or drop the ampersand."
    }
  ],
  "routability": {
    "boardable_stops": 4334,
    "findings": [],
    "orphan_stops": 0,
    "single_stop_trips": 0,
    "trips_total": 56054
  },
  "route_map": {
    "drawn_route_count": 116,
    "has_shapes": true,
    "path": "data/artifacts/dublin-bus/geometry.geojson",
    "route_count": 116,
    "routes": [
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 1 e a",
        "label": "1",
        "long": "Sandymount - O'Connell Street - Santry",
        "short": "1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 11 c a",
        "label": "11",
        "long": "Phoenix Park - Sandyford Business District",
        "short": "11",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 116 c a",
        "label": "116",
        "long": "Whitechurch - Parnell Square",
        "short": "116",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 118 c a",
        "label": "118",
        "long": "Kilternan - Eden Quay",
        "short": "118",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 11B a",
        "label": "11B",
        "long": "Phoenix Park - Donnybrook",
        "short": "11B",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 120 c a",
        "label": "120",
        "long": "Ashtown Station - Parnell St",
        "short": "120",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 122 c a",
        "label": "122",
        "long": "Drimnagh - Ashington",
        "short": "122",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 13 c a",
        "label": "13",
        "long": "Grange Castle - Harristown",
        "short": "13",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 130 c a",
        "label": "130",
        "long": "Talbot Street - Castle Avenue",
        "short": "130",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 14 c a",
        "label": "14",
        "long": "Dundrum Luas Stn - Ardlea Rd (Beaumont)",
        "short": "14",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 142 e a",
        "label": "142",
        "long": "Portmarnock - UCD (Belfield)",
        "short": "142",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 15 c a",
        "label": "15",
        "long": "Ballycullen Road - Clongriffin",
        "short": "15",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 150 c a",
        "label": "150",
        "long": "Rossmore - Hawkins Street",
        "short": "150",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 151 c a",
        "label": "151",
        "long": "Foxborough (Balgaddy Rd) - Docklands (East Rd)",
        "short": "151",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 15A c a",
        "label": "15A",
        "long": "Merrion Square - Limekiln Avenue",
        "short": "15A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 15B c a",
        "label": "15B",
        "long": "Merrion Square - Stocking Avenue",
        "short": "15B",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 15D c a",
        "label": "15D",
        "long": "Merrion Square - Whitechurch",
        "short": "15D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 16 c a",
        "label": "16",
        "long": "Ballinteer - Dublin Airport",
        "short": "16",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 16D c a",
        "label": "16D",
        "long": "Airport - Beaumont Village - Ballinteer not",
        "short": "16D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 19 a",
        "label": "19",
        "long": "Parnell Square West - Dublin Airport",
        "short": "19",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 23 a",
        "label": "23",
        "long": "Merrion Square - Charlestown SC",
        "short": "23",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 24 a",
        "label": "24",
        "long": "Merrion Square - Dublin Airport",
        "short": "24",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 27 c a",
        "label": "27",
        "long": "Jobstown - Clare Hall",
        "short": "27",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 27A c a",
        "label": "27A",
        "long": "Blunden Drive - Eden Quay",
        "short": "27A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 27B c a",
        "label": "27B",
        "long": "Eden Quay - Harristown",
        "short": "27B",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 27X c a",
        "label": "27X",
        "long": "Clare Hall - UCD Belfield",
        "short": "27X",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 32X c a",
        "label": "32X",
        "long": "UCD Belfield - Malahide",
        "short": "32X",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 33 c a",
        "label": "33",
        "long": "Balbriggan - Lower Abbey St",
        "short": "33",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 33D c a",
        "label": "33D",
        "long": "Portrane - St Stephens Green",
        "short": "33D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 33E c a",
        "label": "33E",
        "long": "Lwr Abbey St - Portrane - Skerries",
        "short": "33E",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 33X c a",
        "label": "33X",
        "long": "Skerries - Custom House Quay / St Stephen Green",
        "short": "33X",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 37 c a",
        "label": "37",
        "long": "Blanchardstown Shopping Centre - Wilton Terrace",
        "short": "37",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 38 c a",
        "label": "38",
        "long": "Damastown - Burlington Road",
        "short": "38",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 38A c a",
        "label": "38A",
        "long": "Damastown via Navan Rd - Burlington Rd",
        "short": "38A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 38B c a",
        "label": "38B",
        "long": "Damastown via Ballycoolin Ind Est - Burlington Rd",
        "short": "38B",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 38D c a",
        "label": "38D",
        "long": "IBM Damastown via N3 - Burlington Rd",
        "short": "38D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 39 c a",
        "label": "39",
        "long": "Ongar - Burlington Rd",
        "short": "39",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 39A c a",
        "label": "39A",
        "long": "Ongar - UCD Belfield",
        "short": "39A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 39X c a",
        "label": "39X",
        "long": "Ongar - Burlington Road",
        "short": "39X",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 4 c a",
        "label": "4",
        "long": "Monkstown Avenue - Heuston Station",
        "short": "4",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 40D c a",
        "label": "40D",
        "long": "Tyrrelstown - Parnell Street",
        "short": "40D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 40E c a",
        "label": "40E",
        "long": "Broombridge Luas - Tyrrelstown",
        "short": "40E",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 41 c a",
        "label": "41",
        "long": "Swords Manor - Lower Abbey Street",
        "short": "41",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 41B c a",
        "label": "41B",
        "long": "Rolestown - Lower Abbey Street",
        "short": "41B",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 41C c a",
        "label": "41C",
        "long": "Swords Manor Via River Valley - Lower Abbey St",
        "short": "41C",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 41D c a",
        "label": "41D",
        "long": "Swords Business Park - Lwr Abbey St",
        "short": "41D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 41X c a",
        "label": "41X",
        "long": "Swords - UCD Belfield",
        "short": "41X",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 42 c a",
        "label": "42",
        "long": "Sand's Hotel Portmarnock - Eden Quay",
        "short": "42",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 42D c a",
        "label": "42D",
        "long": "Portmarnock - DCU",
        "short": "42D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 43 c a",
        "label": "43",
        "long": "Talbot Street - Swords Business Park",
        "short": "43",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 44 c a",
        "label": "44",
        "long": "Enniskerry - DCU",
        "short": "44",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 44B c a",
        "label": "44B",
        "long": "Glencullen - Dundrum Luas",
        "short": "44B",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 44D a",
        "label": "44D",
        "long": "Dundrum - OCS",
        "short": "44D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 47 c a",
        "label": "47",
        "long": "Poolbeg Street - Belarmine",
        "short": "47",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 51D c a",
        "label": "51D",
        "long": "Aston Quay - Clondalkin",
        "short": "51D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 52 b",
        "label": "52",
        "long": "Intel - Ringsend",
        "short": "52",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 53 c a",
        "label": "53",
        "long": "Dublin Ferryport - Talbot St",
        "short": "53",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 56A c a",
        "label": "56A",
        "long": "Tallaght - Ringsend Rd",
        "short": "56A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 6 c a",
        "label": "6",
        "long": "Howth Dart Stn - Lower Abbey Street",
        "short": "6",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 60",
        "label": "60",
        "long": "Forbes Street - Tallaght",
        "short": "60",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 65 e",
        "label": "65",
        "long": "Poolbeg Street - Blessington/Ballymore",
        "short": "65",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 65A a",
        "label": "65A",
        "long": "Route 65A Tallaght Sq - Blessington",
        "short": "65A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 65B c a",
        "label": "65B",
        "long": "Poolbeg Street - Citywest",
        "short": "65B",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 68 c a",
        "label": "68",
        "long": "Newcastle / Greenogue Business Pk - Hawkins St",
        "short": "68",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 68A c a",
        "label": "68A",
        "long": "Hawkins Street - Bulfin Road",
        "short": "68A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 69 c a",
        "label": "69",
        "long": "Rathcoole - Hawkins St",
        "short": "69",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 69X c a",
        "label": "69X",
        "long": "Rathcoole - Hawkins St",
        "short": "69X",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 7 c a",
        "label": "7",
        "long": "Brides Glen Luas - Mountjoy Square",
        "short": "7",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 70 c a",
        "label": "70",
        "long": "Dunboyne - Burlington Rd",
        "short": "70",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 70D c a",
        "label": "70D",
        "long": "Dunboyne - DCU",
        "short": "70D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 74",
        "label": "74",
        "long": "Dundrum Luas - Eden Quay",
        "short": "74",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 77A c a",
        "label": "77A",
        "long": "Citywest - Ringsend",
        "short": "77A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 77X c a",
        "label": "77X",
        "long": "Citywest - UCD Belfield",
        "short": "77X",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 7A c a",
        "label": "7A",
        "long": "Loughlinstown - Mountjoy Sq",
        "short": "7A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 7B c a",
        "label": "7B",
        "long": "Shankill - Mountjoy Square",
        "short": "7B",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 7D c a",
        "label": "7D",
        "long": "Dalkey - Mountjoy Square",
        "short": "7D",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 7E a",
        "label": "7E",
        "long": "Mountjoy Square - Dalkey",
        "short": "7E",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 80 a",
        "label": "80",
        "long": "Liffey Valley SC - Palmerston Park",
        "short": "80",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 82 a",
        "label": "82",
        "long": "Irishtown - Kiltipper",
        "short": "82",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 99 a",
        "label": "99",
        "long": "Phoenix Park - Phoenix Park",
        "short": "99",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 C1 c",
        "label": "C1",
        "long": "Adamstown Stn - Sandymount",
        "short": "C1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 C2 c",
        "label": "C2",
        "long": "Adamstown Stn - Sandymount",
        "short": "C2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 C3 c",
        "label": "C3",
        "long": "Maynooth - Ringsend",
        "short": "C3",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 C4 c",
        "label": "C4",
        "long": "Maynooth - Ringsend",
        "short": "C4",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 C5 d",
        "label": "C5",
        "long": "Maynooth - Ringsend Night Service",
        "short": "C5",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 C6 c",
        "label": "C6",
        "long": "Maynooth - Celbridge - Ringsend Night Service",
        "short": "C6",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 E1 a",
        "label": "E1",
        "long": "Ballywaltrim - Northwood",
        "short": "E1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 E2 a",
        "label": "E2",
        "long": "Dun Laoghaire - Harristown",
        "short": "E2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 F1 a",
        "label": "F1",
        "long": "The Square Tallaght - IKEA",
        "short": "F1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 F2 a",
        "label": "F2",
        "long": "Charlestown SC - Rossmore",
        "short": "F2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 F3 a",
        "label": "F3",
        "long": "Charlestown SC - Limekiln Avenue",
        "short": "F3",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 G1",
        "label": "G1",
        "long": "Red Cow LUAS - Spencer Dock",
        "short": "G1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 G2 a",
        "label": "G2",
        "long": "Liffey Valley SC - Spencer Dock",
        "short": "G2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 H1 c a",
        "label": "H1",
        "long": "Baldoyle - Lower Abbey Street",
        "short": "H1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 H2 c a",
        "label": "H2",
        "long": "Malahide - Lower Abbey Street",
        "short": "H2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 H3 c a",
        "label": "H3",
        "long": "Howth Summit - Lower Abbey Street",
        "short": "H3",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 L12 a",
        "label": "L12",
        "long": "Ballywaltrim - Bray Dart Station",
        "short": "L12",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 L14 a",
        "label": "L14",
        "long": "Southern Cross Road - Palermo",
        "short": "L14",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 L25",
        "label": "L25",
        "long": "Dun Laoghaire - Dundrum Town Centre",
        "short": "L25",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 L53 c",
        "label": "L53",
        "long": "Liffey Valley - Adamstown Stn",
        "short": "L53",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 L54 b",
        "label": "L54",
        "long": "River Forest - Red Cow Luas",
        "short": "L54",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 L58 b",
        "label": "L58",
        "long": "River Forest - Castletown - Hazelhatch Stn",
        "short": "L58",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 L59 b",
        "label": "L59",
        "long": "River Forest - Celbridge - Hazelhatch",
        "short": "L59",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 L89 a",
        "label": "L89",
        "long": "Broombridge Luas - Toberburr",
        "short": "L89",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 N4",
        "label": "N4",
        "long": "Blanchardstown - Point Village",
        "short": "N4",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 P29 c",
        "label": "P29",
        "long": "Adamstown Stn - Ringsend",
        "short": "P29",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 S2",
        "label": "S2",
        "long": "Sean Moore Road - Heuston Station",
        "short": "S2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 X1 a",
        "label": "X1",
        "long": "Kilcoole - Hawkins Street",
        "short": "X1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 X2 a",
        "label": "X2",
        "long": "Newcastle - Hawkins Street",
        "short": "X2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 X25 c",
        "label": "X25",
        "long": "Maynooth - Easton Rd - UCD",
        "short": "X25",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 X26 c",
        "label": "X26",
        "long": "Maynooth - Louisa Bridge - Leeson Street Lower",
        "short": "X26",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 X27 d",
        "label": "X27",
        "long": "Salesian College - Aghards Rd - UCD",
        "short": "X27",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 X28 d",
        "label": "X28",
        "long": "Salesian College - Celbridge Main St - UCD",
        "short": "X28",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 X30 d",
        "label": "X30",
        "long": "Dodsboro - UCD",
        "short": "X30",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 X31 c",
        "label": "X31",
        "long": "River Forest - UCD Belfield",
        "short": "X31",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "1 X32 c",
        "label": "X32",
        "long": "Kildare Innovation Campus - UCD Belfield",
        "short": "X32",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      }
    ],
    "stop_count": 4334,
    "stop_points_capped": true
  },
  "rubric_version": "1.3",
  "schema_version": "1.18",
  "scoring_profile": {
    "id": "gtfs-scorecard-1.3",
    "provenance": "GTFS Scorecard's project-authored weights, deductions, thresholds, grade bands, and fix ranking, informed by the California Transit Data Guidelines and the MobilityData gtfs-validator. It is not a worldwide standard or a compliance determination.",
    "rubric_version": "1.3"
  },
  "snapshot_date": "2026-08-27",
  "top_fixes": [
    {
      "code": "scorecard_wheelchair_boarding_unknown",
      "count": 4334,
      "effort": "A column in stops.txt; your scheduling software likely has it.",
      "fix": "Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.",
      "owner": "Likely your team",
      "points": 25.0,
      "rank": 1,
      "severity": "WARNING",
      "what": "4334 of 4334 stops don't say whether a wheelchair user can board there.",
      "why": "Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all."
    },
    {
      "code": "scorecard_wheelchair_accessible_unknown",
      "count": 56054,
      "effort": "A default or per-trip field in your export.",
      "fix": "Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.",
      "owner": "Likely your export tool",
      "points": 15.0,
      "rank": 2,
      "severity": "WARNING",
      "what": "56054 of 56054 trips don't say whether the vehicle is wheelchair accessible.",
      "why": "Even with accessible stops, riders need to know the bus itself can take them."
    },
    {
      "code": "scorecard_no_fare_data",
      "count": 1,
      "effort": "A small file for most flat-fare systems.",
      "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.",
      "owner": "",
      "points": 15.0,
      "rank": 3,
      "severity": "WARNING",
      "what": "The feed contains no fare information.",
      "why": "Riders see 'fare unknown' in trip planners and can't budget their trip; visitors are most affected."
    }
  ],
  "validator_version": "8.0.1"
}
