← All agencies

Feed status · checked 2026-08-01

TransLink Sunbus Cairns

Based on the feed this agency publishes

Service mode Bus

71.7 / 100

down 1.4 since 2026-07-31

Catalogued in Queensland, Australia.

Covers 60 daysAccessibility gapsRealtime not yet published

One qconnect regional network feed for the Cairns area; counted as one feed record.

A data-quality and completeness lens to help an agency improve its GTFS feed. Not an official compliance determination from any transit program. New to this? How to read your scorecard. Interactive view of this scorecard. Rubric v1.3, validator 8.0.1.

Checked for changes 66 minutes ago; last changed 66 minutes ago.

Measured 3 of 4 score categories from the agency's own feed.

How we measured this

Confidence in this measurement: medium.

  • Realtime quality was not measured this run. It does not count against the grade.
  • The feed was downloaded from the agency's own URL.

Confidence describes how much the pipeline could measure this run, not the feed itself. It never changes the grade.

Top things to fix

Fix 01

Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.Likely your team

464 of 464 stops don't say whether a wheelchair user can board there. Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.

⏱ A column in stops.txt; your scheduling software likely has it.worth about +25 points in its category

Fix 02

Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.Likely your export tool

2986 of 2986 trips don't say whether the vehicle is wheelchair accessible. Even with accessible stops, riders need to know the bus itself can take them.

⏱ A default or per-trip field in your export.worth about +15 points in its category

Fix 03

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.

The feed contains no fare information. Riders see 'fare unknown' in trip planners and can't budget their trip; visitors are most affected.

⏱ A small file for most flat-fare systems.worth about +15 points in its category

Finding handoff

Move one finding to a recheck

Select one finding. Copy the request, make the change in the feed-producing tool, then compare the next complete run.

Feed evidence
464 of 464 stops don't say whether a wheelchair user can board there.
Next action
Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.
Recheck
Publish the changed feed at the same URL. On the next complete, comparable scorecard run, confirm that this finding is no longer reported.
Copy handoff text
How to make and check these changes

Check the result on the published feed. Read the guide, make the change in your tool, and use the next comparable run to see whether the finding is still reported. Only an action or ticket record can attribute who made the change.

  1. Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. · Read the fix guide

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. See this feed's finding-clearance log.

  2. Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. · Read the fix guide

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. See this feed's finding-clearance log.

  3. 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. · Read the fix guide

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. See this feed's finding-clearance log.

Rider view: what this feed publishes

A quick read of rider-facing information in this feed.

Schedule visibility
The feed's last published service date is in 60 days.
Published accessibility data
Accessibility information is stated for 0% of stops and 0% of trips. This measures published data, not whether stops or vehicles are physically usable.
Fare information
No fare information is published in the feed.
Realtime information
Realtime-feed availability and live-arrival coverage are not known from this scorecard.

Important: This does not rate service reliability. Riders should confirm current service alerts, fares, and accessibility accommodations with the transit operator before traveling.

Send your vendor a fix request

You may not control the GTFS export yourself. Copy this and send it to whoever runs your scheduling software export. It names each fix with the validator notice and a guide link.

Score by category

Correctness80.0 / 100

The MobilityData validator flagged 4 kinds of issue across 70 instances (0 error, 70 warning, 0 informational).

Freshness100.0 / 100

Service data covers the next 60 days.

Rider experience37.5 / 100

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.

Accessibility0 / 100

0% of stops state accessibility (0% marked accessible). Reflects what the feed states, not verified physical usability.

2 accessibility depth signals

  • 369 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set ("Cedar Rd at Coral Coast Drive (Palm Cove)", "Williams Esplanade at Caryota St", "Captain Cook Hwy at Alexandra Street", and more).

    Consider: Add tts_stop_name with the spoken form, e.g. 'Main Street and Second Avenue', for the affected stops.

  • This feed models stations or entrances but has no pathways.txt and levels.txt.

    Consider: Add pathways.txt connecting entrances, platforms, and elevators, and levels.txt for each floor, so the step-free route is described.

Opportunities to strengthen the data, not deductions from the sub-score above. States what the second accessibility lens can check from the feed, not verified physical usability.

Realtime qualityNot yet measured

Not scored yet. Nothing here counts against the grade.

Routes and stops

Each route is drawn once, using the longest shape its trips follow; stops are the dots.

This feed has 464 stops.

Skip to route and stop data

The route and stop data is ready below. Load the map only when you want the geographic view. It uses additional data.

Basemap: OpenFreeMap, © OpenStreetMap contributors. Routes and stops: this agency's GTFS feed.

  • 110N (pink)
  • 110N (pink)
  • 120N (pink)
  • 120N (pink)
  • 131N (pink)
  • 131N (pink)
  • 140N (pink)
  • 140N (pink)
  • 143W (pink)
  • 143W (pink)
  • 150E (pink)
  • 150E (pink)
  • 110 (pink)
  • 110 (pink)
  • 111 (pink)
  • 111 (pink)
  • 112 (pink)
  • 112 (pink)
  • 113 (pink)
  • 113 (pink)
  • 120 (pink)
  • 120 (pink)
  • 121 (pink)
  • 121 (pink)
  • 122 (pink)
  • 122 (pink)
  • 123 (pink)
  • 123 (pink)
  • 130 (pink)
  • 130 (pink)
  • 131 (pink)
  • 131 (pink)
  • 133 (pink)
  • 133 (pink)
  • 140 (pink)
  • 140 (pink)
  • 141 (pink)
  • 141 (pink)
  • 142 (pink)
  • 142 (pink)
  • 143 (pink)
  • 143 (pink)
  • 150 (pink)
  • 150 (pink)
Routes in TransLink Sunbus Cairns's feed
RouteTypeLine color
110N City - Palm CoveBuspink
110N City - Palm CoveBuspink
120N City - Smithfield via Machans Beach and HollowaysBuspink
120N City - Smithfield via Machans Beach and HollowaysBuspink
131N City - Raintrees via WhitfieldBuspink
131N City - Raintrees via WhitfieldBuspink
140N City - Edmonton via Bentley ParkBuspink
140N City - Edmonton via Bentley ParkBuspink
143W City - Mt Sheridan via White RockBuspink
143W City - Mt Sheridan via White RockBuspink
150E City - GordonvaleBuspink
150E City - GordonvaleBuspink
110 City - Palm CoveBuspink
110 City - Palm CoveBuspink
111 City - Kewarra BeachBuspink
111 City - Kewarra BeachBuspink
112 Yorkeys Knob - Smithfield via JCUBuspink
112 Yorkeys Knob - Smithfield via JCUBuspink
113 City - SmithfieldBuspink
113 City - SmithfieldBuspink
120 City - Smithfield via Machans BeachBuspink
120 City - Smithfield via Machans BeachBuspink
121 City - RedlynchBuspink
121 City - RedlynchBuspink
122 JCU - RedlynchBuspink
122 JCU - RedlynchBuspink
123 City - JCU via RaintreesBuspink
123 City - JCU via RaintreesBuspink
130 City - Raintrees via Edge HillBuspink
130 City - Raintrees via Edge HillBuspink
131 City - Raintrees via WhitfieldBuspink
131 City - Raintrees via WhitfieldBuspink
133 City - Earlville via MoorooboolBuspink
133 City - Earlville via MoorooboolBuspink
140 City - Edmonton via Bentley ParkBuspink
140 City - Edmonton via Bentley ParkBuspink
141 City - Woree via Bayview HeightsBuspink
141 City - Woree via Bayview HeightsBuspink
142 City - Edmonton via Mt Sheridan/TimberleaBuspink
142 City - Edmonton via Mt Sheridan/TimberleaBuspink
143 City - Mt Sheridan via White RockBuspink
143 City - Mt Sheridan via White RockBuspink
150 City - GordonvaleBuspink
150 City - GordonvaleBuspink
List every stop
  • Cedar Rd at Coral Coast Drive (Palm Cove)
  • Williams Esplanade at Caryota St
  • Veivers Road at Talpa Close
  • Veivers Road at Capt Cook Highway
  • Captain Cook Hwy at Alexandra Street
  • Endeavour Rd at Elford Street
  • Endeavour Road at Haycock Street
  • Endeavour Rd at Upolu Esplanade
  • Arlington Esp near Upolu Esp hail 'n' ride
  • Arlington Esplanade at Clifton Rd
  • Clifton Road at Guide Street
  • Clifton Rd at Capt Cook Highway
  • Cottesloe Dr at Daytona St (Kewarra Beach)
  • Poolwood Rd at Miami Road
  • Captain Cook Hwy at Poolwood Road
  • Trinity Beach Rd at Madang Street
  • Trinity Beach Rd at Periwinkle Avenue
  • Trinity Beach Rd at Vasey Street
  • Trinity Beach Rd at Petersen Street
  • Anderson St at Lae Street
  • Madang St at Kokoda Street
  • Trinity Beach Rd at Madang St
  • Madang St at Rabaul Street
  • Moresby St at Saidor Close
  • Moresby St at Anderson Street
  • Trinity Beach Rd at Rabaul Street
  • Captain Cook Hwy at Discovery Drive
  • Poolwood Rd at Mahab Street
  • Albatross St at Wagtail Close
  • Gannet St at Manly Close
  • Gannet St at Coolangatta Close
  • Clifton Road at Capt Cook Highway
  • Endeavour Road at Saxon Street
  • Endeavour Rd at Capt Cook Highway
  • Captain Cook Hwy at Alexandra Street
  • Williams Esplanade at French Street
  • Cedar Rd at Coral Coast Drive (Palm Cove)
  • Captain Cook Hwy at Aropa Street
  • Captain Cook Highway (Smithfield)
  • Captain Cook Highway (Smithfield)
  • Reed Rd at Centaur Street
  • Cheviot St at Leisure Pk Road (Smithfield SHS)
  • McGregor Road at Faculty Close
  • Lydia Street at Anne Street
  • Gavin St at Stanton Street
  • Stanton Rd at Survey Street
  • McGregor Road at Faculty Close
  • Captain Cook Hwy (Smithfield) hail 'n' ride
  • Smithfield Shopping Centre (Cattana Rd)
  • Mt Milman Dr at Danbulan Street
  • Varley St at Nancy Street
  • Varley Street at Daisy Street
  • Varley St at Hesp Street
  • Varley St at Adair Street
  • Sims Esp at Adair Street
  • Sims Esp at Rutherford Street
  • Wattle St at Fairweather Street
  • Varley St at Daisy Street
  • Varley St at Grason Street
  • Varley St at Carolyn Close
  • Oleander St at Bamboo Street
  • Oleander St at Poinciana Street
  • Oleander St at Tamarind Street
  • Oleander St at Hickory St
  • Holloway Beach Rd at Moonah St
  • Prior St at Phillips St
  • Christensen St at Machans St (Machans Beach SS)
  • Machans Beach Access Rd
  • Brinsmead Kamerunga Road at Skyrail Base Station
  • Impey St at Lake Placid Road
  • Lake Placid Rd at Brinsmead Kamerunga Rd
  • Cairns Western Arterial at Harley Street
  • Michaelangelo Dr near Cyperus Dr hail 'n' ride
  • Michaelangelo Dr at Jasmine Street
  • Michaelangelo Dr at Ebony Street
  • Michaelangelo Dr at Jasmine Street
  • Michaelangelo Dr near Cyperus Dr hail 'n' ride
  • Redlynch Intake Rd at Short Street
  • Brinsmead Kamerunga Rd (Redlynch Railway Station)
  • Kamerunga Road at Ryan Weare Park
  • Lavis Rd at Valley Street
  • Old Smithfield Rd at Le Grande St
  • Old Smithfield Rd at Freshwater School
  • Old Smithfield Rd at Cassowary Street
  • Kamerunga Rd at Old Smithfield Road
  • Kamerunga Rd at Passchendaele St
  • Kamerunga Rd at Hardwick Street
  • Kamerunga Rd at Stratford Parade
  • Stratford Pde at Aeroglen Drive
  • Aeroglen Dr at Stratford Parade
  • Aeroglen Dr at Whitfield Street
  • Aeroglen Dr at Palmerston Street
  • Sheridan St at Rutherford Street
  • Sheridan St at Rutherford Street
  • Sheridan St at Lily St (Tobruk Pool)
  • Sheridan St at Smith Street
  • Sheridan St at McKenzie Street
  • Sheridan St at McKenzie Street
  • Sheridan St at Charles St
  • Sheridan St at Grove Street
  • Sheridan St at Thomas Street
  • Sheridan St at James Street
  • Sheridan St at Lily Street
  • Sheridan St at Lily St (Tobruk Pool)
  • Sheridan St Cairns North
  • Sheridan St at Rutherford Street
  • Collins Ave at Cairns Botanic Gardens
  • Greenslopes St at Crathern Close
  • Greenslopes Street at McCormack Street
  • Greenslopes St at Centenary Lakes
  • Aeroglen Dr at Palmerston Street
  • Old Smithfield Rd at Simon Street
  • Merrybrook Street at Freshwater State School
  • Old Smithfield Rd at Le Grande Street
  • Kamerunga Road at Freshwater Railway Station
  • Kamerunga Road at Ryan Weare Park
  • Loridan Dr at Adam Drive
  • Loridan Dr at Wills Street
  • Loridan Dr at Windsor Close
  • Cairns Western Arterial at Ramsey Drive
  • McManus St at Whitfield State School
  • McManus St at Park Street
  • McManus St at Hodel Street
  • Woodward St near Nolan St hail 'n' ride
  • Woodward Street at Forest Avenue
  • Richardson St at Pease Street
  • Jensen St at Oregon St
  • Jensen St at Brooks St
  • Jensen St at Redwood Street
  • Jensen St at Boden Street
  • Richardson St at Polentz St
  • Richardson St at Pease Street
  • Woodward St at Pease Street
  • Woodward St near Forest Ave hail 'n' ride
  • Woodward St at Clemson Ave
  • Woodward St near Lomond Cl hail 'n' ride
  • Woodward St at Jensen Street
  • Woodward St at Nolan Street
  • McManus St at Hodel St
  • McManus St at Park Street
  • McManus St at Whitfield State School
  • Murray St at Enmore St
  • Murray St near Enmore Street
  • Pease St at Murray St (Cairns Villa & Leisure Pk)
  • Pease St at Murray St (Cairns Villa & Leisure Pk)
  • Pease St at Reservoir Road
  • Anderson St at Mayers Street
  • Anderson St at English Street
  • Anderson St at Hill Street
  • Anderson St at Chaplain St (Cemetery)
  • Martyn St near Thomas St hail 'n' ride
  • Martyn St at Shearer St
  • Martyn St at Grove St
  • Martyn St at Grove St
  • Anderson St at Chaplain Avenue (Cemetery)
  • Anderson St at Hill St
  • Anderson St at English Street
  • Anderson St at Mayers Street
  • Pease St near Reservoir Rd hail 'n' ride
  • Earlville Shopping Town
  • Balaclava Rd at Downing St
  • Lavender St at Holly Street
  • Irene St at Beatrice St (Mooroobool)
  • McGregor St at Wawan St
  • Swallow St at Moody Street
  • Swallow St at Cochrane Street
  • English St at Hoare Street
  • Hoare St at Kiernan Street
  • Hoare Street at Eureka Street (Trinity Bay SHS)
  • Newton Street at Cairns TAFE
  • Aumuller St at Gatton Street
  • DFO Westcourt
  • Aumuller St at O'Leary St
  • Aumuller St at Spence Street
  • Cairns Central Shopping Centre (Spence St)
  • Spence Street at Grafton Street
  • Aumuller St at Spence St (Portsmith)
  • Aumuller St at O'Leary St
  • Mann St at Vivian St
  • Aumuller St at Mann Street
  • Hoare St at Kiernan Street
  • English St at Hoare Street
  • Lennon St at Alfred St
  • McGregor St at Irene St
  • Grevillea St at Pepperina St
  • Balaclava Rd at Yarrum St
  • Mulgrave Rd at Soure Street
  • Mulgrave Rd at Kelly Street
  • Mulgrave Rd at Kelly Street (Balaclava State Sch)
  • Mulgrave Rd at DFO Westcourt
  • Mulgrave Rd at Creedy Street
  • Mulgrave Rd at Collinson St
  • Mulgrave Rd at Parramatta Park State School
  • Mulgrave Rd near Parramatta Park State Sch HnR
  • Mulgrave Rd at Gregory Street
  • Mulgrave Rd at Creedy St
  • Mulgrave Rd at Tills St
  • Mulgrave Street at Dalton St
  • Mulgrave Rd at Wilks St (Balaclava State Sch)
  • Mulgrave Rd at Marsh Street
  • Toogood Rd at Cavanagh Street
  • Toogood Rd at Nephrite St
  • Toogood Rd at Agate St
  • Anderson Rd at Bellbird Street
  • Anderson Rd at Windarra St (Coconut Village)
  • Windarra St at Noela Close
  • Anderson Rd at Shannon Dr
  • Fairview St at Turquoise Cl (Forno Park)
  • Toogood St at Panorama Street
  • Toogood Rd at Tamba Street
  • Toogood Rd at Erang Street
  • Des Chalmers Drive at Rigg Street
  • Progress Rd at Dillon Close (White Rock SS)
  • Tiffany St at Alabama Street
  • Progress Rd at Leftwich St (Trinity Anglican Sch)
  • Kambara St at Sheehy Road
  • Kambara St at Skull Road
  • Skull Rd at Kowinka St
  • Forest Gardens Bvd at Madigans Drive
  • Forest Gardens Bvd at Archer Close
  • Forest Gardens Bvd at Oakblue Drive
  • Forest Gardens Bvd at Booyong Drive
  • Mt Sheridan Plaza (Barnard Dr) Stop B
  • Timberlea Dr at Walker Road
  • Timberlea Dr at Boyce Street
  • Timberlea Dr at Dan Jones Street
  • Robert Rd at Templar Crescent
  • Robert Rd at Cintra Street
  • Hardy Rd at Malabar Street (Tom Murray Park)
  • Forest Gardens Bvd at Booyong Drive
  • Forest Gardens Bvd at Oakblue Drive
  • Forest Gardens Bvd at Archer Close
  • Forest Gardens Bvd at Sawpit Sreet
  • Mt Sheridan Plaza (Barnard Dr) Stop A
  • Trafalgar Rd at Barnard Drive
  • Trafalgar Rd at Nimroud Close
  • Idalia Rd at Scotia Close
  • Robert Rd at Golden Grove Dr (Fretwell Park)
  • Ravizza Dr at MacKellar Close
  • Ravizza Dr at Hancock St (Edmonton Centre)
  • Mill Rd at Hartill Street
  • Mill Rd at Hartill Street
  • Hambledon Drive at Sugarworld Gardens
  • Graham St at Jubilee St (John Walker Park)
  • Graham St at Mt Peter Rd
  • Mt Peter Rd at Prior St
  • Cattle St at Old Bruce Highway
  • Cattle St at Old Bruce Highway
  • Mt Peter Rd at Prior Street
  • Mt Peter Rd at Graham Street
  • and 214 more (see the full list on the map or in the GeoJSON)

Over time

Overall score across the last 2 checks — down 1.4 since 2026-07-31.

2026-07-31: 73.12026-08-01: 71.7
Show the numbers
Overall score by check, with the change from the previous check
CheckScoreChange
2026-07-3173.1 first check
2026-08-0171.7 down 1.4

What changed since your last check

  • Correctness down 4.0
  • Freshness up 1.7
  • Rider experience no change

What changed in this feed

Overall score fell 1.4 points since 2026-07-31.

The feed file was re-published since 2026-07-31 (-147 KB).

New since 2026-07-31 (1 finding)

Changed counts

  • down 2986 of 2986 trips don't say whether the vehicle is wheelchair accessible. (3652 → 2986) (scorecard_wheelchair_accessible_unknown)

Subscribe to this feed’s changes (Atom) to hear about grade drops in a reader, with no sign-up.

Everything we checked

9 findings, ordered by severity.

Show every finding
  • Warning2986 instances

    2986 of 2986 trips don't say whether the vehicle is wheelchair accessible.

    Even with accessible stops, riders need to know the bus itself can take them.

    Fix: Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. (A default or per-trip field in your export.)

    Finding code: scorecard_wheelchair_accessible_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning464 instances

    464 of 464 stops don't say whether a wheelchair user can board there.

    Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.

    Fix: Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. (A column in stops.txt; your scheduling software likely has it.)

    Finding code: scorecard_wheelchair_boarding_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning46 instances

    Some files leave out fields that GTFS asks for but does not require.

    Recommended fields like agency_phone or stop descriptions make the feed more useful to riders and trip planners.

    Fix: Review the flagged fields and fill in the ones your riders would use. (A field at a time; not urgent.)

    Finding code: missing_recommended_field · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning22 instances

    Two or more routes share the same name.

    Riders can't tell the routes apart in apps.

    Fix: Give each route a distinct short or long name. (One field per route.)

    Finding code: duplicate_route_name · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning1 instance

    feed_info.txt lists no contact email and no contact URL.

    Without a contact, apps like Google Maps can't reach you when they find a problem in the feed.

    Fix: Add feed_contact_email or feed_contact_url to feed_info.txt. (One field, set once in export settings.)

    Finding code: missing_feed_contact_email_and_url · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning1 instance

    Many of the feed's trips don't run at all in the next 7 days.

    It usually means old service periods are still in the export, making the feed bigger and harder to check.

    Fix: Trim past service periods the next time you export. (One setting in most export tools.)

    Finding code: trip_coverage_not_active_for_next7_days · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning1 instance

    The feed contains no fare information.

    Riders see 'fare unknown' in trip planners and can't budget their trip; visitors are most affected.

    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. (A small file for most flat-fare systems.)

    Finding code: scorecard_no_fare_data · Read the fix guide · See GTFS Best Practices (opens GTFS Best Practices on an external site)

  • Warning1 instance

    This feed models stations or entrances but has no pathways.txt.

    Trip planners can't guide riders through the station, and there is no step-free route information for wheelchair users.

    Fix: Add pathways.txt connecting entrances, platforms, and any elevators, with a level for each. (Worth it for multi-level or large stations; flat stops don't need it.)

    Finding code: scorecard_station_no_pathways · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Info1 instance

    feed_info.txt has no technical contact (feed_contact_email or feed_contact_url).

    Trip-planning apps and regional data coordinators have nobody to email when they spot a problem with your feed, so problems linger.

    Fix: Add feed_contact_email to feed_info.txt. (One field.)

    Finding code: scorecard_no_feed_contact · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

Conformance mark Not yet

This feed is close to the conformance mark. States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.

Valid Met
Passes validation with no errors.
Current Met
Service data covers the next 60 days.
Accessible Not yet
States wheelchair access on 0% of stops and 0% of trips; the mark needs 90% of each.

In plain words: earn this mark when your feed passes validation, has not expired, and says whether nearly every stop and trip is wheelchair accessible.

A pass credential for a feed that is valid, current, and states wheelchair access on nearly every stop and trip. Accessibility here measures what the feed publishes, not whether a stop is physically usable. How the conformance mark works.

Clears the Google and Apple Maps four-week coverage bar. This feed has 60 days of service ahead, clearing the four-week (28-day) window Maps asks for. No validator errors either, so riders keep seeing this agency in their trip planners; warnings lower the grade here but do not remove a feed from Maps.

How this agency maps to the standards

The scorecard is a data-quality lens, not a compliance determination. Its universal references describe good GTFS and useful rider information. Useful references here are GTFS Schedule Best Practices, GTFS-Realtime Best Practices, MobilityData grading scheme, Google Transit publication guidance. Read the full standards crosswalk.

Correctness 80 / 100
GTFS Schedule best practices, checked by the MobilityData validator. MobilityData grading covers stop locations, route names, and colors. Google Transit requires a feed to pass validation for publication.
Freshness 100 / 100
GTFS Schedule best practices call for a dataset that stays current. An expired calendar can remove service from Google Transit and other rider trip planners.
Rider experience 38 / 100
GTFS Best Practices for rider-facing fields. MobilityData grading covers stop names and headsigns.
Realtime quality Not yet published
GTFS-Realtime best practices: a stable URL, high uptime, and frequent updates.

Show your grade

Put a badge on your agency site or feed README. It updates after each completed scoring check and links back to this scorecard.

TransLink Sunbus Cairns GTFS data quality grade: C

Prefer a shields.io style? Point a dynamic endpoint badge at the published badge.json.

Cite this record

This page updates on every check. The record below does not: it is the dated file this grade came from, published at https://gtfsscorecard.org/data/artifacts/translink-sunbus-cairns/2026-08-01.json and never overwritten, pinning the grade, category scores, rubric version, validator version, reader archive profile, and the scored feed's sha256 as they stood on 2026-08-01. Use it in a board packet, a regulatory filing, or a research citation instead of linking the live page, whose content will differ on your next visit.

Citing the tool itself rather than one agency's record? Use the repo's CITATION.cff.