{
  "agency": {
    "country": "DE",
    "id": "ostalbmobil",
    "name": "OstalbMobil",
    "operating_note": "One association feed for the Ostalb district's operators; counted as one feed record, not a distinct-agency count.",
    "subdivision_code": "DE-BW",
    "subdivision_name": "Baden-W\u00fcrttemberg"
  },
  "categories": {
    "completeness": {
      "details": {
        "accessibility": {
          "measures": "presence_not_usability",
          "score": 37.7,
          "stops_marked_accessible_pct": 0.3,
          "stops_marked_not_accessible_pct": 0.0,
          "stops_stated_pct": 0.3,
          "trips_stated_pct": 100.0
        },
        "accessibility_measures": "presence_not_usability",
        "cemv": {
          "declared": false,
          "supported": false
        },
        "components": {
          "contact": 7.5,
          "fares": 0.0,
          "headsigns": 15.0,
          "stop_names": 15.0,
          "wheelchair_stops": 0.1,
          "wheelchair_trips": 15.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_pct": 99.8,
        "mixed_case_stop_name_pct": 100.0,
        "pathways": {
          "has_entrances": false,
          "has_levels": false,
          "has_pathways": false,
          "has_stations": true,
          "has_step_free": false,
          "pathway_count": 0
        },
        "stops": 3397,
        "translations": {
          "feed_lang": "DE",
          "has_translations": false,
          "languages": [],
          "translated_tables": [],
          "translation_count": 0
        },
        "trips": 10832,
        "wheelchair_accessible_pct": 100.0,
        "wheelchair_boarding_pct": 0.3,
        "wheelchair_marked_accessible_pct": 0.3,
        "wheelchair_marked_not_accessible_pct": 0.0
      },
      "findings": [
        {
          "code": "scorecard_wheelchair_boarding_unknown",
          "count": 3388,
          "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": 24.9,
          "severity": "WARNING",
          "what": "3388 of 3397 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_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."
        },
        {
          "code": "scorecard_missing_headsigns",
          "count": 25,
          "effort": "Usually a bulk edit in your scheduling software.",
          "fix": "Populate trip_headsign to match what the transit vehicle displays.",
          "owner": "Likely your export tool",
          "points": 0.0,
          "severity": "WARNING",
          "what": "25 of 10832 trips have no headsign.",
          "why": "Riders at the stop can't tell which direction a transit vehicle is going."
        },
        {
          "code": "scorecard_no_feed_contact",
          "count": 1,
          "effort": "One field.",
          "fix": "Add feed_contact_email to feed_info.txt.",
          "owner": "",
          "points": 7.5,
          "severity": "INFO",
          "what": "feed_info.txt has no technical contact (feed_contact_email or feed_contact_url).",
          "why": "Trip-planning apps and regional data coordinators have nobody to email when they spot a problem with your feed, so problems linger."
        },
        {
          "code": "scorecard_station_no_pathways",
          "count": 1,
          "effort": "Worth it for multi-level or large stations; flat stops don't need it.",
          "fix": "Add pathways.txt connecting entrances, platforms, and any elevators, with a level for each.",
          "owner": "",
          "points": 0.0,
          "severity": "WARNING",
          "what": "This feed models stations or entrances but has no pathways.txt.",
          "why": "Trip planners can't guide riders through the station, and there is no step-free route information for wheelchair users."
        }
      ],
      "name": "completeness",
      "score": 52.5,
      "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": 16,
        "instances_by_severity": {
          "ERROR": 0,
          "INFO": 671,
          "WARNING": 3567
        },
        "validator_version": "8.0.1"
      },
      "findings": [
        {
          "code": "service_has_no_active_day_of_the_week",
          "count": 1027,
          "effort": "A few minutes in your scheduling software.",
          "fix": "Delete the empty calendars or set their service days.",
          "owner": "Likely your export tool",
          "points": 8.0,
          "severity": "WARNING",
          "what": "Some service calendars have no days of the week switched on.",
          "why": "Trips tied to these calendars never run; they are dead data that can mask real schedule problems."
        },
        {
          "code": "unused_shape",
          "count": 663,
          "effort": "One setting.",
          "fix": "Turn on 'remove unused shapes' (or the like) in your export tool.",
          "owner": "Likely your export tool",
          "points": 8.0,
          "severity": "WARNING",
          "what": "The feed contains route shapes no trip uses.",
          "why": "Harmless to riders, but it bloats the feed and suggests stale export data."
        },
        {
          "code": "fast_travel_between_consecutive_stops",
          "count": 579,
          "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 transit vehicle can.",
          "why": "Usually a typo'd stop time; riders get arrival times no transit vehicle can meet."
        },
        {
          "code": "expired_calendar",
          "count": 481,
          "effort": "One setting in most export tools.",
          "fix": "Remove past service periods the next time you export the feed.",
          "owner": "Likely your export tool",
          "points": 8.0,
          "severity": "WARNING",
          "what": "Some service calendars in the feed have already ended.",
          "why": "Expired calendars are dead weight and can hide real schedule problems from your staff and vendors."
        },
        {
          "code": "stop_too_far_from_shape_using_user_distance",
          "count": 462,
          "effort": "Varies.",
          "fix": "Review the rule documentation for 'stop_too_far_from_shape_using_user_distance' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
          "owner": "",
          "points": 8.0,
          "severity": "WARNING",
          "what": "Stop too far from shape using user distance (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        },
        {
          "code": "stop_too_far_from_shape",
          "count": 269,
          "effort": "A few minutes per flagged stop.",
          "fix": "Check the flagged stops' coordinates and the route shape in your scheduling software; re-snap whichever is misplaced.",
          "owner": "Likely your export tool",
          "points": 8.0,
          "severity": "WARNING",
          "what": "Some stops sit far from the route line they belong to.",
          "why": "Trip planners may draw the transit vehicle route through the wrong path or point riders to the wrong boarding location."
        },
        {
          "code": "fast_travel_between_far_stops",
          "count": 74,
          "effort": "Varies.",
          "fix": "Review the rule documentation for 'fast_travel_between_far_stops' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
          "owner": "",
          "points": 8.0,
          "severity": "WARNING",
          "what": "Fast travel between far stops (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        },
        {
          "code": "route_long_name_contains_short_name",
          "count": 5,
          "effort": "Varies.",
          "fix": "Review the rule documentation for 'route_long_name_contains_short_name' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
          "owner": "",
          "points": 4.0,
          "severity": "WARNING",
          "what": "Route long name contains short name (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        },
        {
          "code": "duplicate_route_name",
          "count": 3,
          "effort": "One field per route.",
          "fix": "Give each route a distinct short or long name.",
          "owner": "",
          "points": 4.0,
          "severity": "WARNING",
          "what": "Two or more routes share the same name.",
          "why": "Riders can't tell the routes apart in apps."
        },
        {
          "code": "mixed_case_recommended_field",
          "count": 2,
          "effort": "Often a bulk fix in your scheduling software.",
          "fix": "Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').",
          "owner": "Likely your export tool",
          "points": 4.0,
          "severity": "WARNING",
          "what": "Some rider-facing names are in ALL CAPS or all lowercase.",
          "why": "ALL-CAPS stop and headsign names are harder to read in apps and are read awkwardly by screen readers."
        },
        {
          "code": "missing_feed_contact_email_and_url",
          "count": 1,
          "effort": "Varies.",
          "fix": "Review the rule documentation for 'missing_feed_contact_email_and_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
          "owner": "",
          "points": 4.0,
          "severity": "WARNING",
          "what": "Missing feed contact email and url (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        },
        {
          "code": "single_shape_point",
          "count": 1,
          "effort": "Varies.",
          "fix": "Review the rule documentation for 'single_shape_point' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
          "owner": "",
          "points": 4.0,
          "severity": "WARNING",
          "what": "Single shape point (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        },
        {
          "code": "big_gap_in_service",
          "count": 405,
          "effort": "Varies.",
          "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.",
          "owner": "",
          "points": 1.0,
          "severity": "INFO",
          "what": "Big gap in service (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        },
        {
          "code": "platform_without_parent_station",
          "count": 227,
          "effort": "Varies.",
          "fix": "Review the rule documentation for 'platform_without_parent_station' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
          "owner": "",
          "points": 1.0,
          "severity": "INFO",
          "what": "Platform without parent station (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        },
        {
          "code": "trip_headsign_matches_intermediate_stop",
          "count": 27,
          "effort": "Varies.",
          "fix": "Review the rule documentation for 'trip_headsign_matches_intermediate_stop' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
          "owner": "",
          "points": 0.8,
          "severity": "INFO",
          "what": "Trip headsign matches intermediate stop (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        },
        {
          "code": "transfer_distance_above_2_km",
          "count": 12,
          "effort": "Varies.",
          "fix": "Review the rule documentation for 'transfer_distance_above_2_km' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.",
          "owner": "",
          "points": 0.8,
          "severity": "INFO",
          "what": "Transfer distance above 2 km (flagged by the MobilityData validator).",
          "why": "See the linked rule for what this affects."
        }
      ],
      "name": "correctness",
      "score": 20.5,
      "status": "measured",
      "summary": "The MobilityData validator flagged 16 kinds of issue across 4238 instances (0 error, 3567 warning, 671 informational).",
      "weight": 0.35
    },
    "freshness": {
      "details": {
        "days_until_expiry": 147,
        "effective_expiry_date": "2026-12-12",
        "feed_end_date": "2026-12-12",
        "feed_start_date": "2026-05-03",
        "feed_version": "20260715",
        "has_feed_info": true,
        "last_service_date": "2026-12-12",
        "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 147 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 agency's own URL."
    ],
    "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 147 days.",
        "key": "current",
        "met": true
      },
      {
        "detail": "States wheelchair access on 0% of stops and 100% of trips; the mark needs 90% of each.",
        "key": "accessible",
        "met": false
      }
    ],
    "status": "not_yet",
    "summary": "This feed is close to the conformance mark. States wheelchair access on 0% of stops and 100% of trips; the mark needs 90% of each."
  },
  "feed": {
    "license_note": "Datenlizenz Deutschland - Namensnennung 2.0 through NVBW's open data portal; mark reuse as a dataset of NVBW GmbH with a link back to the portal. Route shapes derive from OpenStreetMap and carry the OpenStreetMap contributors credit.",
    "reachable": true,
    "sha256": "c15665790182f80859646f6b3b6f6899929c78bd009817481379b17ec284e1ea",
    "size_bytes": 49267781,
    "static_url": "https://www.nvbw.de/fileadmin/user_upload/service/open_data/fahrplandaten_mit_liniennetz/oam.zip"
  },
  "fetch": {
    "final_url": "https://www.nvbw.de/fileadmin/user_upload/service/open_data/fahrplandaten_mit_liniennetz/oam.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-07-18T00:00:00+00:00",
  "geo": {
    "bbox": [
      8.40104,
      47.55232,
      11.5596,
      49.44475
    ],
    "lat": 48.85001,
    "lon": 10.06661,
    "stop_count": 3397
  },
  "mode_profile": {
    "ferry_only": false,
    "graded": false,
    "has_ferry": false,
    "is_multimodal": true,
    "measured": true,
    "modes": [
      {
        "key": "rail",
        "label": "Rail",
        "route_count": 15,
        "trip_count": 2909,
        "trip_share_pct": 26.9
      },
      {
        "key": "bus",
        "label": "Bus",
        "route_count": 172,
        "trip_count": 7923,
        "trip_share_pct": 73.1
      }
    ],
    "primary_mode": "bus",
    "primary_mode_label": "Bus",
    "route_count": 187,
    "trip_count": 10832
  },
  "overall": {
    "grade": "F",
    "margin_to_lower_band": 50.4,
    "margin_to_next_band": 9.6,
    "score": 50.4
  },
  "recommendations": [
    {
      "category": "accessibility",
      "code": "scorecard_stop_name_needs_tts",
      "count": 142,
      "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": "142 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set (\"G\u00f6pp. EWS-Arena/Lorcher Str.\", \"G\u00f6pp. EWS-Arena/Lorcher Str.\", \"Alfd. Schule/Obere Schlossstr.\", 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."
    },
    {
      "category": "accessibility",
      "code": "scorecard_station_missing_step_free_data",
      "count": 2,
      "effort": "Worth it for multi-level or large stations; flat stops don't need it.",
      "fix": "Add pathways.txt connecting entrances, platforms, and elevators, and levels.txt for each floor, so the step-free route is described.",
      "owner": "",
      "points": 0.0,
      "severity": "WARNING",
      "what": "This feed models stations or entrances but has no pathways.txt and levels.txt.",
      "why": "Without pathways and levels, a wheelchair user can't tell whether a step-free route exists inside the station, and trip planners can't route anyone through it."
    }
  ],
  "routability": {
    "boardable_stops": 3352,
    "findings": [],
    "orphan_stops": 0,
    "single_stop_trips": 0,
    "trips_total": 10832
  },
  "route_map": {
    "drawn_route_count": 185,
    "has_shapes": true,
    "path": "data/artifacts/ostalbmobil/geometry.geojson",
    "route_count": 187,
    "routes": [
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": false,
        "id": "ddb-87-N89-1",
        "label": "SEV",
        "long": "",
        "short": "SEV",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": false,
        "id": "ddb-87-T05U-1",
        "label": "SEV",
        "long": "",
        "short": "SEV",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-753-1",
        "label": "Hauptbahnhof - Aalen Hbf",
        "long": "Hauptbahnhof - Aalen Hbf",
        "short": "",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-M89-1",
        "label": "RE 89",
        "long": "",
        "short": "RE 89",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-M89A-1",
        "label": "RE 89",
        "long": "",
        "short": "RE 89",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-M89X-1",
        "label": "RE 89",
        "long": "",
        "short": "RE 89",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-N89-1",
        "label": "RB 89",
        "long": "",
        "short": "RB 89",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-T01-1",
        "label": "RE 1",
        "long": "",
        "short": "RE 1",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-T03-1",
        "label": "RE 3",
        "long": "",
        "short": "RE 3",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-T05S-1",
        "label": "RS 5",
        "long": "",
        "short": "RS 5",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-T13-1",
        "label": "MEX13",
        "long": "",
        "short": "MEX13",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-T50-1",
        "label": "RE 50",
        "long": "",
        "short": "RE 50",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-T50D-1",
        "label": "RE 50",
        "long": "",
        "short": "RE 50",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-T51-1",
        "label": "RS 51",
        "long": "",
        "short": "RS 51",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "8844AA",
        "color_name": "purple",
        "has_shape": true,
        "id": "ddb-90-T90-1",
        "label": "RE 90",
        "long": "",
        "short": "RE 90",
        "text_color": "FFFFFF",
        "type_label": "Rail"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "din-20-040-1",
        "label": "40",
        "long": "Oberkochen - Ochsenberg - Heidenheim",
        "short": "40",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "din-20-051-1",
        "label": "51",
        "long": "Neresheim - Auernheim - Nattheim - Heidenheim",
        "short": "51",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "din-20-052-1",
        "label": "52",
        "long": "Heidenheim - Nietheim - Gro\u00dfkuchen - Kleinkuchen - Neresheim",
        "short": "52",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-010-1",
        "label": "10",
        "long": "Aalen - Berufliche Schulen",
        "short": "10",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-011-1",
        "label": "11",
        "long": "Aalen - Wasseralfingen",
        "short": "11",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-012-1",
        "label": "12",
        "long": "Talschulen - Westheim - Aalen",
        "short": "12",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-013-1",
        "label": "13",
        "long": "Wasseralfingen - Aalen",
        "short": "13",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-014-1",
        "label": "14",
        "long": "Aalen - Fachsenfeld  - Waiblingen",
        "short": "14",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-015-1",
        "label": "15",
        "long": "Aalen - Fachsenfeld - Dewangen",
        "short": "15",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-016-1",
        "label": "16",
        "long": "Fachsenfeld - Aalen",
        "short": "16",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-017-1",
        "label": "17",
        "long": "Aalen - Attenhofen - Oberalfingen",
        "short": "17",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-019-1",
        "label": "19",
        "long": "Aalen - Wasseralfingen",
        "short": "19",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-024-1",
        "label": "24",
        "long": "Aalen - Dewangen - Fachsenfeld",
        "short": "24",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-027-1",
        "label": "27",
        "long": "Dewangen - Aalen",
        "short": "27",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-028-1",
        "label": "28",
        "long": "Dewangen - Aalen",
        "short": "28",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-029-1",
        "label": "29",
        "long": "Dewangen - Aalen",
        "short": "29",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-031-1",
        "label": "31",
        "long": "31 Aalen - Ostalbklinikum - Greut - Aalen",
        "short": "31",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-032-1",
        "label": "32",
        "long": "32 Waldfriedhof - Aalen",
        "short": "32",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-033-1",
        "label": "33",
        "long": "Forst - Unterrombach - Aalen",
        "short": "33",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-034-1",
        "label": "34",
        "long": "Aalen - Unterrombach",
        "short": "34",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-035-1",
        "label": "35",
        "long": "Aalen ZOB - Unterrombach Milanweg",
        "short": "35",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-036-1",
        "label": "36",
        "long": "Aalen - Gartenstr. - Unterrombach - Hofherrnweiler",
        "short": "36",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-037-1",
        "label": "37",
        "long": "Aalen - Hofherrnweiler",
        "short": "37",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-040-1",
        "label": "40",
        "long": "(Bartholom\u00e4 - Lauterburg -)  Essingen - Aalen",
        "short": "40",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-042-1",
        "label": "42",
        "long": "(Bartholom\u00e4 - Lauterburg -)  Essingen - Forst - Aalen",
        "short": "42",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-043-1",
        "label": "43",
        "long": "Bartholom\u00e4 -Lauterburg - Essingen - Aalen",
        "short": "43",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-044-1",
        "label": "44",
        "long": "Aalen - Bartholom\u00e4",
        "short": "44",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-048-1",
        "label": "48",
        "long": "(Bartholom\u00e4 - Lauterburg -) Essingen - Aalen",
        "short": "48",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-049-1",
        "label": "49",
        "long": "Essingen - Lauterburg",
        "short": "49",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-051-1",
        "label": "51",
        "long": "51 Aalen - Triumphstadt - Aalen",
        "short": "51",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-056-1",
        "label": "56",
        "long": "56 Aalen - Thermalbad - Triumphstadt - Aalen",
        "short": "56",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-062-1",
        "label": "62",
        "long": "Aalen - Unterkochen - Aalen",
        "short": "62",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-071-1",
        "label": "71",
        "long": "Aalen - Grauleshof - Aalen",
        "short": "71",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-072-1",
        "label": "72",
        "long": "Aalen - Grauleshof - Aalen",
        "short": "72",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-073-1",
        "label": "73",
        "long": "Aalen - Grauleshof - Aalen",
        "short": "73",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-079-1",
        "label": "79",
        "long": "Aalen - Zebert - Pelzwasen - Aalen",
        "short": "79",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-081-1",
        "label": "81",
        "long": "Aalen - Heide - Aalen",
        "short": "81",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-082-1",
        "label": "82",
        "long": "Wasseralfingen - R\u00f6thardt - Heide - Aalen",
        "short": "82",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-083-1",
        "label": "83",
        "long": "Aalen - Heide - R\u00f6thardt - Wasseralfingen",
        "short": "83",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-901-1",
        "label": "901",
        "long": "",
        "short": "901",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-902-1",
        "label": "902",
        "long": "",
        "short": "902",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-903-1",
        "label": "903",
        "long": "",
        "short": "903",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-1-906-1",
        "label": "906",
        "long": "",
        "short": "906",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-001-1",
        "label": "1",
        "long": "",
        "short": "1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-002-1",
        "label": "2",
        "long": "",
        "short": "2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-003-1",
        "label": "3",
        "long": "",
        "short": "3",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-004-1",
        "label": "4",
        "long": "",
        "short": "4",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-005-1",
        "label": "5",
        "long": "",
        "short": "5",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-006-1",
        "label": "6",
        "long": "",
        "short": "6",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-007-1",
        "label": "7",
        "long": "",
        "short": "7",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-04a-1",
        "label": "4 a",
        "long": "",
        "short": "4 a",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-05b-1",
        "label": "5 b",
        "long": "",
        "short": "5 b",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-066-1",
        "label": "66",
        "long": "",
        "short": "66",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-071-1",
        "label": "71",
        "long": "",
        "short": "71",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-073-1",
        "label": "73",
        "long": "",
        "short": "73",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-20-07a-1",
        "label": "7a",
        "long": "",
        "short": "7a",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-090-1",
        "label": "90",
        "long": "Ipf-Express City-Bus Bopfingen",
        "short": "90",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-091-1",
        "label": "91",
        "long": "Bopfingen - Geislingen - Unterschneidheim",
        "short": "91",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-092-1",
        "label": "92",
        "long": "Bopfingen - Wilflingen - Unterschneidheim",
        "short": "92",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-093-1",
        "label": "93",
        "long": "Bopfingen - Oberdorf - Unterschneidheim",
        "short": "93",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-094-1",
        "label": "94",
        "long": "Unterschneidheim Post - Bopfingen",
        "short": "94",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-095-1",
        "label": "95",
        "long": "Bopfingen - Benzenzimmern - Unterschneidheim",
        "short": "95",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-096-1",
        "label": "96",
        "long": "Bopfingen - Sechtenhausen - Unterschneidheim",
        "short": "96",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-097-1",
        "label": "97",
        "long": "Bopfingen - Unterschneidheim Schule",
        "short": "97",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-098-1",
        "label": "98",
        "long": "Ipfmess-Pendelverkehr",
        "short": "98",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-21-099-1",
        "label": "99",
        "long": "99 Lauchheim - Lippach - Lindorf",
        "short": "99",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-061-1",
        "label": "61",
        "long": "Durlangen - Zimmerbach - Tanau - Mutlangen - Schw. Gm\u00fcnd",
        "short": "61",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-062-1",
        "label": "62",
        "long": "Schw\u00e4b. Gm\u00fcnd - Mutlangen - Lindach - T\u00e4ferrot - Ruppertshofen",
        "short": "62",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-072-1",
        "label": "72",
        "long": "Eschach- Leinzell - Lindach - Herlikofen - Schw\u00e4bisch Gm\u00fcnd Bahnhof",
        "short": "72",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-0722-1",
        "label": "72/2",
        "long": "Eschach - Kemnaten - Seifertshofen - Vellbach - Eschach",
        "short": "72/2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-077-1",
        "label": "77",
        "long": "Durlangen - Gschwend - Eschach - Herlikofen - Iggingen - Hussenhofen - Schw\u00e4b. Gm\u00fcnd",
        "short": "77",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-210-1",
        "label": "210",
        "long": "Lorch Stadtbus",
        "short": "210",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-211-1",
        "label": "211",
        "long": "Lorch Schulverkehr",
        "short": "211",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-214-1",
        "label": "214",
        "long": "(Walkersbach) - Weitmars - Lorch",
        "short": "214",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-215-1",
        "label": "215",
        "long": "Lorch - Waldhausen - Rattenharz - Kirneck - W\u00e4schenbeuren",
        "short": "215",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-300-1",
        "label": "300",
        "long": "Ellwangen ZOB - Klosterfeld - Braune Hardt - Wannenfeld - Rindelbach - Ellwangen ZOB",
        "short": "300",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-301-1",
        "label": "301",
        "long": "Ellwangen ZOB - Rindelbach - Wannenfeld - Braune Hardt - Klosterfeld - Ellwangen ZOB",
        "short": "301",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-302-1",
        "label": "302",
        "long": "Rindelbach - Rattstadt - Eigenzell - Stocken - Ellwangen",
        "short": "302",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-304-1",
        "label": "304",
        "long": "Ellwangen ZOB - Goldrain - Schrezheim - Rotenbach - Ellwangen ZOB",
        "short": "304",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-305-1",
        "label": "305",
        "long": "Ellwangen ZOB - Rotenbach - Schrezheim - Goldrain - Ellwangen ZOB",
        "short": "305",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-306-1",
        "label": "306",
        "long": "Ellwangen ZOB - Neunstadt Indgeb. - Neunheim - Ellwangen ZOB",
        "short": "306",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-307-1",
        "label": "307",
        "long": "Ellwangen ZOB - Neunheim - Neunstadt Indgeb. - Ellwangen ZOB",
        "short": "307",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-309-1",
        "label": "309",
        "long": "Rabenhof - Ellwangen - Rindelbach Schule",
        "short": "309",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-310-1",
        "label": "310",
        "long": "Ellwangen ZOB - Sch\u00f6nborn Haus - Ellwangen ZOB",
        "short": "310",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-311-1",
        "label": "311",
        "long": "Ortslinienverkehr Adelmannsfelden",
        "short": "311",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-312-1",
        "label": "312",
        "long": "Ortslinienverkehr Jagstzell - Rosenberg",
        "short": "312",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-313-1",
        "label": "313",
        "long": "Schwenningen - Ortslinienverkehr Rainau - Dalkingen - Westhausen",
        "short": "313",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-314-1",
        "label": "314",
        "long": "Ortslinienverkehr Rosenberg",
        "short": "314",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-315-1",
        "label": "315",
        "long": "Baldern - Lippach - Killingen - R\u00f6hlingen/Schule - Neunheim - Ellwangen",
        "short": "315",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-320-1",
        "label": "320",
        "long": "Ellwangen - Goldrain - Dalkingen - Westhausen - Reichenbach",
        "short": "320",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-321-1",
        "label": "321",
        "long": "Westhausen - Westhausen Teilorte - Lauchheim Schule",
        "short": "321",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-30-322-1",
        "label": "322",
        "long": "Ellwangen - Dalkingen - Westhausen",
        "short": "322",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-31-220-1",
        "label": "220",
        "long": "Lorch - Waldhausen - Rattenharz (StadtLandBus)",
        "short": "220",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-31-330-1",
        "label": "330",
        "long": "Ellwangen - Eigenzell - R\u00f6hlingen - Ellenberg - St\u00f6dtlen - Unterschneidheim - Baldern",
        "short": "330",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-31-332-1",
        "label": "332",
        "long": "Ellwangen - Rainau-Buch - H\u00fcttlingen - Westhausen - Lauchheim - R\u00f6ttingen",
        "short": "332",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-31-334-1",
        "label": "334",
        "long": "Ellwangen - Schrezheim - Neuler  Jagstzell - Rosenberg - Adelmannsfelden - Abtsgm\u00fcnd",
        "short": "334",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-31-340-1",
        "label": "340",
        "long": "Bopfingen - Kerkingen - Trochtelfingen - Unterschneidheim",
        "short": "340",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-102-1",
        "label": "102",
        "long": "Schulbus Neresheim - K\u00f6singen - Schweindorf",
        "short": "102",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-103-1",
        "label": "103",
        "long": "Aalen - Unterkochen - Ebnat - Waldhausen - Aalen",
        "short": "103",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-104-1",
        "label": "104",
        "long": "Waldhausen - Ebnat - Unterkochen - Oberkochen",
        "short": "104",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-105-1",
        "label": "105",
        "long": "Stadtverkehr Oberkochen",
        "short": "105",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-106-1",
        "label": "106",
        "long": "Aalen - Unterkochen - Ebnat - Elchingen - Neresheim",
        "short": "106",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-107-1",
        "label": "107",
        "long": "Aalen - Waldhausen - Ebnat",
        "short": "107",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-108-1",
        "label": "108",
        "long": "Neresheim - Dorfmerkingen - Waldhausen",
        "short": "108",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-109-1",
        "label": "109",
        "long": "Lauchheim - H\u00fclen - Waldhausen",
        "short": "109",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-110-1",
        "label": "110",
        "long": "Aalen - Waldhausen - Ebnat - Elchingen - Dorfmerkingen - Ohmenheim - Neresheim",
        "short": "110",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-111-1",
        "label": "111",
        "long": "Aalen - Unterkochen - Ebnat - Elchingen - Dorfmerkingen - Ohmenheim - Neresheim",
        "short": "111",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-112-1",
        "label": "112",
        "long": "Neresheim - Schweindorf - K\u00f6singen - Ohmenheim - Neresheim",
        "short": "112",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-116-1",
        "label": "116",
        "long": "Abendverkehr Ebnat - Elchingen - Neresheim",
        "short": "116",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-118-1",
        "label": "118",
        "long": "Dossingen - Dehlingen - Dorfmerkingen - Riffingen - Waldhausen",
        "short": "118",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-35-119-1",
        "label": "119",
        "long": "Waldhausen - Teilorte - H\u00fclen - Lauchheim - Waldhausen",
        "short": "119",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-0639-1",
        "label": "63/9",
        "long": "Gaildorf - Gschwend",
        "short": "63/9",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-0741-1",
        "label": "74/1",
        "long": "Mutlangen - Lindach - Iggingen - Herlikofen",
        "short": "74/1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-267-1",
        "label": "267",
        "long": "Heubach - B\u00f6bingen - Schw\u00e4bisch Gm\u00fcnd",
        "short": "267",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7518-1",
        "label": "7518",
        "long": "Oberkochen - Unterkochen - Aalen",
        "short": "7518",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7696-1",
        "label": "7696",
        "long": "N\u00f6rdlingen - Bopfingen - Lauchheim - Westhausen - Aalen",
        "short": "7696",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7698-1",
        "label": "7698",
        "long": "Untergr\u00f6ningen - Hohenstadt - Abtsgm\u00fcnd - Neuler - H\u00fcttlingen - Aalen",
        "short": "7698",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7846-1",
        "label": "7846",
        "long": "Ellwangen - Schwabsberg - H\u00fcttlingen - Aalen",
        "short": "7846",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7864-1",
        "label": "7864",
        "long": "Bopfingen - Dorfmerkingen - Ohmenheim - Neresheim",
        "short": "7864",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7865-1",
        "label": "7865",
        "long": "Ellwangen - Neunheim - R\u00f6hlingen - Pfahlheim - Unterschneidheim - Z\u00f6bingen - Bopfingen",
        "short": "7865",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7866-1",
        "label": "7866",
        "long": "Aalen - Wasseralfingen - Westhausen - R\u00f6hlingen",
        "short": "7866",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7867-1",
        "label": "7867",
        "long": "Dinkelsb\u00fchl - W\u00f6rt - St\u00f6dtlen - Unterdeufstetten - Ellenberg - Ellwangen",
        "short": "7867",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7869-1",
        "label": "7869",
        "long": "Abtsgm\u00fcnd - Adelmannsfelden - Ellwangen",
        "short": "7869",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-786K-1",
        "label": "7865/2",
        "long": "R\u00f6hlingen - Pfahlheim - Beersbach",
        "short": "7865/2",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-786M-1",
        "label": "7865/8",
        "long": "Unterschneidheim Schule - Birkenzell - St\u00f6dtlen",
        "short": "7865/8",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-786N-1",
        "label": "7867/1",
        "long": "Eiberg - Georgenstadt - Ellenberg",
        "short": "7867/1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-786O-1",
        "label": "7867/8",
        "long": "W\u00f6rt - St\u00f6dtlen - M\u00f6nchsroth - Wilburgstetten - Wittenbach - Unterschneidheim",
        "short": "7867/8",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-786P-1",
        "label": "7869/1",
        "long": "Rindelbach Schule - Mittelhof - Eggenrot - Griesweiler - Hinterlengenberg",
        "short": "7869/1",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7871-1",
        "label": "7871",
        "long": "Fichtenau - W\u00f6rt",
        "short": "7871",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7911-1",
        "label": "63",
        "long": "Gaildorf - Spraitbach - Mutlangen - Schw\u00e4b. Gm\u00fcnd",
        "short": "63",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7920-1",
        "label": "74",
        "long": "Untergr\u00f6ningen - Leinzell - Iggingen - Schw\u00e4bisch Gm\u00fcnd",
        "short": "74",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7922-1",
        "label": "7922",
        "long": "Heubach - M\u00f6gglingen - Aalen",
        "short": "7922",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-40-7931-1",
        "label": "76",
        "long": "Heubach - Lautern - M\u00f6gglingen - Heuchlingen",
        "short": "76",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-021-1",
        "label": "21",
        "long": "Schw\u00e4bisch Gm\u00fcnd - Waldstetten - Weilerstoffel",
        "short": "21",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-120-1",
        "label": "120",
        "long": "StadtBus Neresheim 120",
        "short": "120",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-121-1",
        "label": "121",
        "long": "StadtBus Neresheim 121",
        "short": "121",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-122-1",
        "label": "122",
        "long": "Neresheim-Katzenstein-Frickingen-Dunstelkingen-Eglingen-Osterhofen-Demmingen",
        "short": "122",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-123-1",
        "label": "123",
        "long": "Neresheim-Iggenhausen-Dischingen-Ballmertshofen-Schrezheim-Trugenhofen",
        "short": "123",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-190-1",
        "label": "190",
        "long": "Abtsgm\u00fcnd - Leinroden - Reichenbach - Heuchlingen - Schechingen - Eschach",
        "short": "190",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-191-1",
        "label": "191",
        "long": "Eschach - Schechingen - Heuchlingen - Laubach - Reichenbach - Aalen",
        "short": "191",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-192-1",
        "label": "192",
        "long": "Abtsgm\u00fcnd - Dewangen - Reichenbach - Dewangen - Fachsenfeld",
        "short": "192",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-194-1",
        "label": "194",
        "long": "Seestaatenlinie Pommertsweiler",
        "short": "194",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-195-1",
        "label": "195",
        "long": "Ortsmobil H\u00fcttlingen",
        "short": "195",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-196-1",
        "label": "196",
        "long": "H\u00fcttlingen - Seitsberg",
        "short": "196",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-293-1",
        "label": "293",
        "long": "Heubach - Lauterburg - Bartholom\u00e4",
        "short": "293",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-294-1",
        "label": "294",
        "long": "Heubach - Bartholom\u00e4",
        "short": "294",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-295-1",
        "label": "295",
        "long": "Bartholom\u00e4 - Steinheim - Heidenheim",
        "short": "295",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-350-1",
        "label": "350",
        "long": "Neuler-Schrezheim-Ellwangen",
        "short": "350",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-351-1",
        "label": "351",
        "long": "Schwenningen - Neuler",
        "short": "351",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-352-1",
        "label": "352",
        "long": "Neuler - Bronnen - Ebnat - Ramsenstrut - Leinenfirst - Adelmannsfelden",
        "short": "352",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-50-353-1",
        "label": "353",
        "long": "Neuler - Bronnen - Abtsgm\u00fcnd",
        "short": "353",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "oam-98-268-1",
        "label": "268",
        "long": "Schw\u00e4bisch Gm\u00fcnd - Mutlangen - Alfdorf - Lorch",
        "short": "268",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "omp-48-506-1",
        "label": "506",
        "long": "Amerdingen - Ederheim - N\u00f6rdlingen",
        "short": "506",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "omp-48-506R-1",
        "label": "506",
        "long": "Amerdingen - Ederheim - N\u00f6rdlingen",
        "short": "506",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vsh-10-045-1",
        "label": "45",
        "long": "",
        "short": "45",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vsh-30-013-1",
        "label": "13",
        "long": "",
        "short": "13",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vsh-30-059-1",
        "label": "59",
        "long": "",
        "short": "59",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vsh-30-060-1",
        "label": "60",
        "long": "",
        "short": "60",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vsh-30-061-1",
        "label": "61",
        "long": "",
        "short": "61",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vsh-30-067-1",
        "label": "67",
        "long": "",
        "short": "67",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vsh-30-59A-1",
        "label": "59A",
        "long": "",
        "short": "59A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vsh-30-666-1",
        "label": "666 SB",
        "long": "Summer Breeze Sonderverkehr",
        "short": "666 SB",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vsh-40-046-1",
        "label": "46",
        "long": "",
        "short": "46",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vvs-31-250-1",
        "label": "250",
        "long": "(Welzheim -) Walkersbach - Waldhausen",
        "short": "250",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vvs-31-257-1",
        "label": "257",
        "long": "Welzheim - Gschwend",
        "short": "257",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vvs-31-266a-1",
        "label": "266A",
        "long": "Welzheim - Alfdorf - Mutlangen - Schw\u00e4bisch Gm\u00fcnd",
        "short": "266A",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vvs-31-932-1",
        "label": "932",
        "long": "G\u00f6ppingen - Faurndau - Rechberghausen - Schw\u00e4bisch Gm\u00fcnd",
        "short": "932",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vvs-31-971-1",
        "label": "971",
        "long": "Wi\u00dfgoldingen - Reichenbach u.R. - S\u00fc\u00dfen",
        "short": "971",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vvs-35-X93-1",
        "label": "X93",
        "long": "G\u00f6ppingen - Lorch",
        "short": "X93",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vvs-36-001r-1",
        "label": "RE1E",
        "long": "M\u00fchlacker - Vaihingen (E) - Bietigheim",
        "short": "RE1E",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vvs-36-013e-1",
        "label": "MEX13E",
        "long": "Schorndorf - Aalen (Schienenersatzverkehr)",
        "short": "MEX13E",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      },
      {
        "color": "1A7A46",
        "color_name": "green",
        "has_shape": true,
        "id": "vvs-50-971-1",
        "label": "RT971",
        "long": "Donzdorf - Reichenbach u.R. -  Wi\u00dfgoldingen",
        "short": "RT971",
        "text_color": "FFFFFF",
        "type_label": "Bus"
      }
    ],
    "stop_count": 3397,
    "stop_points_capped": true
  },
  "rubric_version": "1.2",
  "schema_version": "1.15",
  "scoring_profile": {
    "id": "gtfs-scorecard-1.2",
    "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.2"
  },
  "snapshot_date": "2026-07-18",
  "top_fixes": [
    {
      "code": "scorecard_wheelchair_boarding_unknown",
      "count": 3388,
      "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": 24.9,
      "rank": 1,
      "severity": "WARNING",
      "what": "3388 of 3397 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_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": 2,
      "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."
    },
    {
      "code": "service_has_no_active_day_of_the_week",
      "count": 1027,
      "effort": "A few minutes in your scheduling software.",
      "fix": "Delete the empty calendars or set their service days.",
      "owner": "Likely your export tool",
      "points": 8.0,
      "rank": 3,
      "severity": "WARNING",
      "what": "Some service calendars have no days of the week switched on.",
      "why": "Trips tied to these calendars never run; they are dead data that can mask real schedule problems."
    }
  ],
  "validator_version": "8.0.1"
}
