translink 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/.gitignore +2 -0
  2. data/.travis.yml +4 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +21 -0
  5. data/README.md +34 -0
  6. data/Rakefile +10 -0
  7. data/bin/translink +7 -0
  8. data/doc/schema.graffle +786 -0
  9. data/doc/schema.png +0 -0
  10. data/lib/translink.rb +18 -0
  11. data/lib/translink/cli.rb +53 -0
  12. data/lib/translink/code.rb +9 -0
  13. data/lib/translink/crawler.rb +21 -0
  14. data/lib/translink/db.rb +20 -0
  15. data/lib/translink/model/route.rb +28 -0
  16. data/lib/translink/model/service.rb +20 -0
  17. data/lib/translink/model/stop.rb +31 -0
  18. data/lib/translink/model/stop/extractor.rb +67 -0
  19. data/lib/translink/page.rb +22 -0
  20. data/lib/translink/page/route.rb +29 -0
  21. data/lib/translink/page/timetable.rb +31 -0
  22. data/lib/translink/page/trip.rb +35 -0
  23. data/lib/translink/version.rb +3 -0
  24. data/test/fixtures/sample/route.html +1288 -0
  25. data/test/fixtures/sample/timetable.html +568 -0
  26. data/test/fixtures/verbatim/route.html +8484 -0
  27. data/test/fixtures/verbatim/timetable.html +6962 -0
  28. data/test/fixtures/verbatim/trip.html +856 -0
  29. data/test/helper.rb +9 -0
  30. data/test/unit/cli_test.rb +78 -0
  31. data/test/unit/code_test.rb +12 -0
  32. data/test/unit/crawler_test.rb +42 -0
  33. data/test/unit/model/route_test.rb +35 -0
  34. data/test/unit/model/service_test.rb +23 -0
  35. data/test/unit/model/stop/extractor_test.rb +112 -0
  36. data/test/unit/model/stop_test.rb +37 -0
  37. data/test/unit/page/route_test.rb +41 -0
  38. data/test/unit/page/timetable_test.rb +26 -0
  39. data/test/unit/page/trip_test.rb +35 -0
  40. data/test/unit/page_test.rb +11 -0
  41. data/tmp/.gitkeep +0 -0
  42. data/translink.gemspec +30 -0
  43. metadata +175 -0
data/doc/schema.png ADDED
Binary file
data/lib/translink.rb ADDED
@@ -0,0 +1,18 @@
1
+ require 'dm-core'
2
+ require 'dm-migrations'
3
+ require 'mechanize'
4
+ require 'uri'
5
+
6
+ require 'translink/version'
7
+ require 'translink/cli'
8
+ require 'translink/code'
9
+ require 'translink/crawler'
10
+ require 'translink/db'
11
+ require 'translink/model/route'
12
+ require 'translink/model/service'
13
+ require 'translink/model/stop'
14
+ require 'translink/model/stop/extractor'
15
+ require 'translink/page'
16
+ require 'translink/page/route'
17
+ require 'translink/page/timetable'
18
+ require 'translink/page/trip'
@@ -0,0 +1,53 @@
1
+ module Translink
2
+ class CLI
3
+ RUNNABLE = ['extract', 'help', 'scrape']
4
+
5
+ attr_accessor :out, :pwd, :__crawler__, :__stop__
6
+
7
+ def initialize pwd
8
+ self.__crawler__ = Translink::Crawler
9
+ self.__stop__ = Model::Stop
10
+ self.out = $stdout
11
+ self.pwd = pwd
12
+ end
13
+
14
+ def run line
15
+ command, input = line.split /\s/, 2
16
+ if RUNNABLE.include? command
17
+ send command, input
18
+ else
19
+ help nil
20
+ end
21
+ end
22
+
23
+ protected
24
+
25
+ def extract input
26
+ return help nil unless input =~ /[A-Za-z]:\/\/.+/
27
+ DB.new input do
28
+ __stop__.all.each do |stop|
29
+ stop.extract!
30
+ stop.save!
31
+ end
32
+ end
33
+ end
34
+
35
+ def help input
36
+ log 'help'
37
+ end
38
+
39
+ def scrape input
40
+ return help nil unless input =~ /^(\d{4}-\d{2}-\d{2})(\s+--uri="?(.+)"?)?$/
41
+ date = Date.parse $1
42
+ uri = $3 || 'sqlite://' + File.join(pwd, "#{date}.sqlite3")
43
+ DB.new uri do
44
+ crawler = __crawler__.new 'http://jp.translink.com.au/travel-information/services-and-timetables/buses/all-bus-timetables'
45
+ crawler.crawl date
46
+ end
47
+ end
48
+
49
+ def log message
50
+ out.puts message
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,9 @@
1
+ module Translink
2
+ module Code
3
+ BRISBANE = ('100'..'499').to_a + ['LOOP', 'GLIDER']
4
+
5
+ def self.brisbane? code
6
+ BRISBANE.include? code.to_s
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,21 @@
1
+ module Translink
2
+ class Crawler
3
+ attr_accessor :__model__
4
+ attr_reader :url
5
+
6
+ def initialize url
7
+ @__model__ = Model::Route
8
+ @url = URI.parse url
9
+ end
10
+
11
+ def crawl date
12
+ timetable_page = Page::Timetable.new(url.to_s).timetable_page date
13
+ timetable_page.route_pages.each do |route_page|
14
+ model = __model__.find_or_add_from_route_page route_page
15
+ route_page.trip_pages.each do |trip_page|
16
+ model.add_service_from_trip_page trip_page
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ module Translink
2
+ class DB
3
+ attr_reader :name, :uri
4
+
5
+ def initialize uri, &block
6
+ @uri = uri
7
+ @name = :default
8
+ DataMapper.setup name, uri
9
+ DataMapper.repository name do
10
+ DataMapper.finalize
11
+ DataMapper.auto_migrate!
12
+ end
13
+ use &block if block
14
+ end
15
+
16
+ def use &block
17
+ DataMapper.repository(name) { block.call }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,28 @@
1
+ module Translink
2
+ module Model
3
+ class Route
4
+ include DataMapper::Resource
5
+
6
+ property :id, Serial
7
+ property :code, String
8
+ property :name, String
9
+ property :translink_id, Integer
10
+
11
+ has n, :services
12
+ has n, :stops, :through => :services
13
+
14
+ def add_service_from_trip_page trip_page
15
+ trip_page.trips.each do |trip|
16
+ services << Service.build_from_trip(trip)
17
+ services.last.save
18
+ end
19
+ end
20
+
21
+ def self.find_or_add_from_route_page route_page
22
+ first_or_create :code => route_page.code,
23
+ :name => route_page.name,
24
+ :translink_id => route_page.translink_id
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,20 @@
1
+ module Translink
2
+ module Model
3
+ class Service
4
+ include DataMapper::Resource
5
+
6
+ property :id, Serial
7
+ property :time, DateTime
8
+
9
+ belongs_to :route
10
+ belongs_to :stop
11
+
12
+ def self.build_from_trip trip
13
+ new.tap do |service|
14
+ service.stop = Stop.find_or_add_from_stop trip.stop
15
+ service.time = trip.time
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,31 @@
1
+ module Translink
2
+ module Model
3
+ class Stop
4
+ include DataMapper::Resource
5
+
6
+ property :id, Serial
7
+ property :name, String
8
+ property :summary, String
9
+ property :street1, String
10
+ property :street2, String
11
+ property :locality, String
12
+
13
+ has n, :services
14
+ has n, :routes, :through => :services
15
+
16
+ attr_accessor :__extractor__
17
+
18
+ def self.find_or_add_from_stop stop
19
+ Stop.first_or_create :name => stop.name, :summary => stop.summary
20
+ end
21
+
22
+ def extract!
23
+ __extractor__.new(self).extract!
24
+ end
25
+
26
+ def __extractor__
27
+ @__extractor__ ||= Extractor
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,67 @@
1
+ module Translink
2
+ module Model
3
+ class Stop::Extractor
4
+ module Nil
5
+ def gsub *args
6
+ self
7
+ end
8
+
9
+ def strip
10
+ self
11
+ end
12
+ end
13
+
14
+ REGEXES = {
15
+ /[\s\(]opposite approaching/i => 'opposite_approaching',
16
+ /[\s\(]opposite far side of/i => 'opposite_far_side',
17
+ /[\s\(]opposite/i => 'opposite',
18
+ /[\s\(]approaching/i => 'approaching',
19
+ /[\s\(]far side of/i => 'far_side',
20
+ /[\s\(]at/i => 'at',
21
+ /[\s\(]near/i => 'near'
22
+ }
23
+
24
+ attr_accessor :stop
25
+
26
+ def initialize stop
27
+ @stop = stop
28
+ end
29
+
30
+ def extract!
31
+ stop.street1 = street1
32
+ stop.street2 = street2
33
+ stop.locality = locality
34
+ stop
35
+ end
36
+
37
+ def street1
38
+ segment = segments.first
39
+ segment =~ /,\s*(.+)/
40
+ ($1 || segment).strip
41
+ end
42
+
43
+ def street2
44
+ segments.last.gsub(/[\(\)]/, '').strip
45
+ end
46
+
47
+ def locality
48
+ REGEXES[regex]
49
+ end
50
+
51
+ protected
52
+
53
+ def regex
54
+ REGEXES.keys.find { |regex| summary_or_name =~ regex }
55
+ end
56
+
57
+ def segments
58
+ results = summary_or_name.split regex
59
+ results.size == 2 ? results : [summary_or_name, nil.extend(Nil)]
60
+ end
61
+
62
+ def summary_or_name
63
+ stop.summary ? stop.summary : stop.name
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,22 @@
1
+ module Translink
2
+ class Page
3
+ USER_AGENT = "Translink/#{VERSION} Ruby/#{RUBY_VERSION} (https://github.com/tatey/translink)"
4
+
5
+ attr_accessor :agent, :page, :url
6
+
7
+ def initialize url
8
+ @agent = Mechanize.new.tap { |mechanize| mechanize.user_agent = USER_AGENT }
9
+ @url = URI.parse url
10
+ end
11
+
12
+ def page
13
+ @page ||= agent.get url.to_s
14
+ end
15
+
16
+ protected
17
+
18
+ def url_from_href href
19
+ url.scheme + '://' + url.host + href
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,29 @@
1
+ module Translink
2
+ class Page::Route < Page
3
+ def code
4
+ page.search('div#contentleftCol table th:nth-child(2)').first.text.strip
5
+ end
6
+
7
+ def date
8
+ Date.parse page.search('div#contentleftCol div.content p span').text
9
+ end
10
+
11
+ def direction
12
+ page.search('div#contentleftCol div.content p').text.match(/(\S+)$/).captures.first
13
+ end
14
+
15
+ def name
16
+ page.search('div#headingBar h1').text
17
+ end
18
+
19
+ def translink_id
20
+ url.path.match(/([^\/]+)$/).captures.last
21
+ end
22
+
23
+ def trip_pages
24
+ page.search('table:not(:last-child) tfoot a').map do |anchor|
25
+ Trip.new url_from_href(anchor[:href])
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,31 @@
1
+ module Translink
2
+ class Page::Timetable < Page
3
+ attr_accessor :code_class
4
+
5
+ def code_class
6
+ @code_class ||= Code
7
+ end
8
+
9
+ def route_pages
10
+ page.search('table tr td:first-child a').reduce Array.new do |pages, anchor|
11
+ route = Route.new url_from_href anchor['href']
12
+ pages << route if code_class.brisbane? extract_code_from_anchor(anchor)
13
+ pages
14
+ end
15
+ end
16
+
17
+ def timetable_page date
18
+ form = page.forms[1]
19
+ form.field_with(:name => 'TimetableDate').value = date.to_s
20
+ self.class.new(url_from_href(form.action)).tap do |page|
21
+ page.page = form.submit
22
+ end
23
+ end
24
+
25
+ protected
26
+
27
+ def extract_code_from_anchor anchor
28
+ anchor.text.gsub(/\-\s(Inbound|Outbound)/, '').strip
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,35 @@
1
+ module Translink
2
+ class Page::Trip < Page
3
+ Trip = Struct.new :stop, :time
4
+ Stop = Struct.new :name, :summary
5
+
6
+ def date
7
+ Date.parse page.search('div#contentleftCol p span').text
8
+ end
9
+
10
+ def stops
11
+ table_rows.search('td:first-child').map do |td|
12
+ attributes = td.text.strip.split "\n"
13
+ Stop.new *attributes
14
+ end
15
+ end
16
+
17
+ def times
18
+ table_rows.search('td:last-child').map { |td| date_time td.text.strip }
19
+ end
20
+
21
+ def trips
22
+ stops.zip(times).map { |attributes| Trip.new *attributes }
23
+ end
24
+
25
+ protected
26
+
27
+ def date_time time_string
28
+ DateTime.parse "#{date} #{time_string.sub('.', ':')} +1000"
29
+ end
30
+
31
+ def table_rows
32
+ @table_rows ||= page.search 'tbody tr'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,3 @@
1
+ module Translink
2
+ VERSION = '0.0.1'
3
+ end
@@ -0,0 +1,1288 @@
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="en-au">
4
+ <head><meta name="google-site-verification" content="nNhS0Na_38DlBjVO22yfHnekgn6xyusSgs0wqs4yDQ8" />
5
+ <link rel="stylesheet" href="/utilities/css/common.css_v1.7.7.139" type="text/css" media="screen, print" />
6
+ <!--[if lte IE 8]>
7
+ <style type="text/css">
8
+ #container-shadow {
9
+ zoom: 1;
10
+ background-color: #FFF;
11
+ -ms-filter: "progid:DXImageTransform.Microsoft.Blur(PixelRadius=5,MakeShadow=true,ShadowOpacity=0.30)";
12
+ padding: 0 0 0 10px;
13
+ }
14
+ .megamenu { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#efeded', endColorstr='#d9d3d4'); }
15
+ .searchform .searchbutton { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9e9e9e', endColorstr='#454545'); }
16
+ .greyButton { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#999999', endColorstr='#555555'); }
17
+ </style>
18
+ <![endif]-->
19
+ <!--[if lte IE 7]> <link href="/utilities/css/styles-ie-lte7.css_v1.7.7.139" media="screen" rel="stylesheet" type="text/css" ><![endif]-->
20
+ <!--[if lte IE 6]> <link href="/utilities/css/styles-ie-lte6.css_v1.7.7.139" media="screen" rel="stylesheet" type="text/css" ><![endif]-->
21
+ <!--[if gte IE 9]> <style type="text/css">.blueButton, .greyButton, .searchform .searchbutton { filter: none; }</style><![endif]-->
22
+ <link rel="stylesheet" href="/utilities/css/print.css_v1.7.7.139" type="text/css" media="print" />
23
+
24
+ <script src="/utilities/common-javascript_v1.7.7.139" type="text/javascript" charset="utf-8"></script>
25
+
26
+ <script type="text/javascript">
27
+ var _gaq = _gaq || [];
28
+ _gaq.push(['_setAccount', 'UA-18464408-1']);
29
+ _gaq.push(['_setDomainName', '.translink.com.au']);
30
+ _gaq.push(['_trackPageview', '/travel-information/services-and-timetables/buses/view-bus-timetable/1925']);
31
+ (function () {
32
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
33
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
34
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
35
+ })();
36
+ </script>
37
+
38
+ <script type="text/javascript" src="/Scripts/jquery.scrollTo-1.4.2-min.js"></script>
39
+ <script type="text/javascript">
40
+ $().ready(function () {
41
+ $(".TimeBookmark").each(function () {
42
+ $(this).closest("table").before("<a id=\"" + $(this).attr("rel") + "\"></a>");
43
+ $("#TimetableDate").val("14/11/2011");
44
+ });
45
+ $(".bookmarkLink").click(function () {
46
+ $.scrollTo($("a[id='" + ($(this).text().replace(" ", "") + "']")).parent().position().top - 10, { duration: 1000 });
47
+ return false;
48
+ });
49
+ });
50
+ </script>
51
+ <title>
52
+ City Buz 130 Via Sunnybank | TransLink
53
+ </title><meta name="description" content="TransLink is your one stop for public transport information, and coordinates and integrates public transport services in South East Queensland." /><meta name="keywords" content="TransLink,public,transport,information,bus,train,ferry,timetables,maps,events,service updates,announcements,go card,fares,tickets" /><meta name="author" content="TransLink Transit Authority" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
54
+ <!-- Data: 8 November, 2011 -->
55
+ </head>
56
+ <body>
57
+ <ul class="access">
58
+ <li><a href="#navigation-shortcut" tabindex="0">Skip to site navigation</a></li>
59
+ <li><a href="#content-shortcut" tabindex="0">Skip to content</a></li>
60
+ <li><a href="#footer-shortcut" tabindex="0">Skip to footer</a></li>
61
+ </ul>
62
+ <div id="center">
63
+ <div id="container-shadow">
64
+ <div id="container">
65
+ <div id="header">
66
+ <div id="courtesy-nav">
67
+ <ul id="courtesy-links">
68
+ <li><a href="http://translink.com.au/utils/goto/context/mobile" title="View the website on your mobile">Mobile site</a></li>
69
+ <li><a href="http://translink.com.au/tickets-and-fares/go-card/online" title="go card"><i>go</i> card login</a></li>
70
+ <li><a href="http://translink.com.au/site-information/site-map" title="An overview of the entire TransLink website">Site map</a></li>
71
+ <li class="last"><a href="http://translink.com.au/site-information/contact-us-and-help" title="Call us on 13 12 30, e-mail us, see us in person, follow us on Twitter, or send us a letter.">Contact us &amp; help</a></li>
72
+ </ul>
73
+ </div>
74
+ <div id="header-content">
75
+ <h1 class="access">TransLink - Integrated public transport for South East Queensland</h1>
76
+ <a href="http://translink.com.au/" title="TransLink"><img src="/Content/Images/logo_topleft_translink.png" alt="TransLink" style="width: 237px; height: 46px;" class="logo" /></a>
77
+ <img src="/Content/Images/tagline.png" alt="Making travel easy" class="tagline" style="height: 46px; width: 206px;" />
78
+ </div>
79
+ <a id="navigation-shortcut" tabindex="0"></a>
80
+ <div id="main-nav" class="clearfix">
81
+ <div id="header-search" class="rightalign">
82
+ <form action="http://translink.com.au/site-information/search/results" method="get" id="search" class="searchform jLabel" name="search">
83
+ <fieldset>
84
+ <legend class="access">Search the TransLink website</legend>
85
+ <p>
86
+ <label for="searchbox" id="searchlabel1">Search site&hellip;</label>
87
+ <input type="text" name="query" id="searchbox" value="" class="searchfield" />
88
+ <input type="submit" value="Search" class="searchbutton" />
89
+ </p>
90
+ </fieldset>
91
+ </form>
92
+ </div>
93
+ <ul class="textShadowLight">
94
+ <li><a href="http://translink.com.au/" title="TransLink - Home">Home</a></li>
95
+ <li><a href="http://translink.com.au/travel-information" id="travelMenuLink">Travel information</a>
96
+ <div id="travelMenu" class="megamenu">
97
+ <div class="column">
98
+ <ul>
99
+ <li>
100
+ <a href="/travel-information/journey-planner">Journey planner</a>
101
+ <ul>
102
+ <li><a href="/travel-information/journey-planner">Journey planner</a></li>
103
+ <li><a href="/travel-information/journey-planner/train-planner">Train journey planner</a></li>
104
+ <li><a href="/travel-information/journey-planner/ferry-planner">Ferry journey planner</a></li>
105
+ </ul>
106
+ </li>
107
+ <li>
108
+ <a href="http://translink.com.au/travel-information/services-and-timetables">Services and timetables</a>
109
+ <ul>
110
+ <li><a href="http://translink.com.au/travel-information/services-and-timetables/search">Find services and timetables</a></li>
111
+ <li><a href="http://translink.com.au/travel-information/services-and-timetables/buses">Buses</a></li>
112
+ <li><a href="http://translink.com.au/travel-information/services-and-timetables/trains">Trains</a></li>
113
+ <li><a href="http://translink.com.au/travel-information/services-and-timetables/ferries">Ferries</a></li>
114
+ <li><a href="http://translink.com.au/travel-information/services-and-timetables/event-transport">Event transport</a></li>
115
+ <li><a href="http://translink.com.au/travel-information/services-and-timetables/school-transport">School transport</a></li>
116
+ <li><a href="http://translink.com.au/travel-information/services-and-timetables/late-night-services">Late night services</a></li>
117
+ <li><a href="/travel-information/services-and-timetables/stop-to-stop">Stop-to-stop timetables</a></li>
118
+ <li><a href="http://translink.com.au/travel-information/services-and-timetables">More...</a></li>
119
+ </ul>
120
+ </li>
121
+ </ul>
122
+ <ul>
123
+ <li>
124
+ <a href="http://translink.com.au/travel-information/maps">Maps</a>
125
+ <ul>
126
+ <li><a href="http://translink.com.au/travel-information/maps">Maps</a></li>
127
+ </ul>
128
+ </li>
129
+ </ul>
130
+ </div>
131
+ <div class="column">
132
+ <ul>
133
+ <li>
134
+ <a href="http://translink.com.au/travel-information/service-updates">Service updates</a>
135
+ <ul>
136
+ <li><a href="http://translink.com.au/travel-information/service-updates">Current status and upcoming changes</a></li>
137
+ <li><a href="http://translink.com.au/travel-information/service-updates/about-service-updates">About service updates</a></li>
138
+ <li><a href="http://translink.com.au/travel-information/service-updates/queensland-rail-timetable-changes">Queensland Rail timetable changes</a></li>
139
+ <li><a href="http://translink.com.au/travel-information/service-updates/richlands-station">Richlands station</a></li>
140
+ </ul>
141
+ </li>
142
+ </ul>
143
+ <ul>
144
+ <li>
145
+ <a href="http://translink.com.au/travel-information/stops-and-stations">Stops and stations</a>
146
+ <ul>
147
+ <li><a href="http://translink.com.au/travel-information/stops-and-stations/train-stations">Train stations</a></li>
148
+ <li><a href="http://translink.com.au/travel-information/stops-and-stations/busway-stations">Busway stations</a></li>
149
+ <li><a href="http://translink.com.au/travel-information/stops-and-stations/ferry-terminals">Ferry terminals</a></li>
150
+ <li><a href="/travel-information/stops-and-stations/stop-timetables">Stop timetables</a></li>
151
+ <li><a href="/travel-information/stops-and-stations/stops-near-you">Stops near you</a></li>
152
+ <li><a href="http://translink.com.au/travel-information/stops-and-stations/bicycle-facilities">Bicycle facilities</a></li>
153
+ </ul>
154
+ </li>
155
+ </ul>
156
+ <ul>
157
+ <li>
158
+ <a href="http://translink.com.au/travel-information/accessibility">Accessibility</a>
159
+ <ul>
160
+ <li><a href="http://translink.com.au/travel-information/accessibility">Accessible services</a></li>
161
+ </ul>
162
+ </li>
163
+ </ul>
164
+ <ul>
165
+ <li>
166
+ <a href="http://translink.com.au/travel-information/safety-and-security">Safety and security</a>
167
+ <ul>
168
+ <li><a href="http://translink.com.au/travel-information/safety-and-security">Safety and security</a></li>
169
+ </ul>
170
+ </li>
171
+ </ul>
172
+ </div>
173
+ <div class="column">
174
+ <ul>
175
+ <li>
176
+ <a href="http://translink.com.au/travel-information/visiting-south-east-queensland">Visiting South East Queensland</a>
177
+ <ul>
178
+ <li><a href="http://translink.com.au/travel-information/visiting-south-east-queensland">Visiting South East Queensland</a></li>
179
+ <li><a href="http://translink.com.au/travel-information/visiting-south-east-queensland/major-destinations">Major destinations</a></li>
180
+ </ul>
181
+ </li>
182
+ </ul>
183
+ <ul>
184
+ <li>
185
+ <a href="http://translink.com.au/travel-information/how-to">How to</a>
186
+ <ul>
187
+ <li><a href="http://translink.com.au/travel-information/how-to/how-to-use-the-bus">How to use the bus</a></li>
188
+ <li><a href="http://translink.com.au/travel-information/how-to/how-to-use-the-train">How to use the train</a></li>
189
+ <li><a href="http://translink.com.au/travel-information/how-to/how-to-use-the-ferry">How to use the ferry</a></li>
190
+ <li><a href="http://translink.com.au/travel-information/how-to/how-to-find-your-bus-stop">How to find your bus stop</a></li>
191
+ <li><a href="http://translink.com.au/travel-information/how-to/how-to-plan-your-journey">How to plan your journey</a></li>
192
+ <li><a href="http://translink.com.au/travel-information/how-to/how-to-transfer-between-services">How to transfer between services</a></li>
193
+ <li><a href="http://translink.com.au/travel-information/how-to/how-to-travel-with-children-and-prams">How to travel with children and prams</a></li>
194
+ <li><a href="http://translink.com.au/travel-information/how-to/how-to-travel-with-large-items">How to travel with large items</a></li>
195
+ <li><a href="http://translink.com.au/travel-information/how-to/tips-for-courteous-behaviour">Tips for courteous behaviour</a></li>
196
+ </ul>
197
+ </li>
198
+ </ul>
199
+ </div>
200
+ </div>
201
+ </li>
202
+ <li><a href="http://translink.com.au/tickets-and-fares" id="ticketsMenuLink">Tickets and fares</a>
203
+ <div id="ticketsMenu" class="megamenu">
204
+ <div class="column">
205
+ <ul>
206
+ <li>
207
+ <a href="http://translink.com.au/tickets-and-fares/go-card"><i>go</i> card</a>
208
+ <ul>
209
+ <li><a href="http://translink.com.au/tickets-and-fares/go-card/about-go-card">About <i>go</i> card</a></li>
210
+ <li><a href="http://translink.com.au/tickets-and-fares/go-card/locations">Where to get it</a></li>
211
+ <li><a href="http://translink.com.au/tickets-and-fares/go-card/register-your-go-card">Register your <i>go</i> card</a></li>
212
+ <li><a href="http://translink.com.au/tickets-and-fares/go-card/top-up-your-go-card">Top up your <i>go</i> card.</a></li>
213
+ <li><a href="http://translink.com.au/tickets-and-fares/go-card/costs-and-discounts">Costs and discounts</a></li>
214
+ <li><a href="http://translink.com.au/tickets-and-fares/go-card/more">More...</a></li>
215
+ </ul>
216
+ </li>
217
+ </ul>
218
+ </div>
219
+ <div class="column">
220
+ <ul>
221
+ <li>
222
+ <a href="http://translink.com.au/tickets-and-fares/other-tickets">Other tickets</a>
223
+ <ul>
224
+ <li><a href="http://translink.com.au/tickets-and-fares/other-tickets/paper-tickets">Paper tickets</a></li>
225
+ <li><a href="http://translink.com.au/tickets-and-fares/other-tickets/school-travel-passes">School travel passes</a></li>
226
+ <li><a href="http://translink.com.au/tickets-and-fares/other-tickets/special-access-passes">Special access passes</a></li>
227
+ </ul>
228
+ </li>
229
+ </ul>
230
+ <ul>
231
+ <li>
232
+ <a href="http://translink.com.au/tickets-and-fares/fares">Fares</a>
233
+ <ul>
234
+ <li><a href="http://translink.com.au/tickets-and-fares/fares/current-fares">Current fares</a></li>
235
+ <li><a href="http://translink.com.au/tickets-and-fares/fares/changes-to-fares-and-ticketing-in-2011">Changes to fares and ticketing in 2011</a></li>
236
+ <li><a href="http://translink.com.au/tickets-and-fares/fares/changes-to-fares-and-ticketing-in-2012">Changes to fares and ticketing in 2012</a></li>
237
+ <li><a href="http://translink.com.au/tickets-and-fares/fares/concessions">Concessions</a></li>
238
+ <li><a href="http://translink.com.au/tickets-and-fares/fares/peak-and-off-peak-times">Peak and off-peak times</a></li>
239
+ <li><a href="http://translink.com.au/tickets-and-fares/fares/fare-zones">Zones</a></li>
240
+ <li><a href="http://translink.com.au/tickets-and-fares/fares/conditions-of-travel">Conditions of travel</a></li>
241
+ <li><a href="http://translink.com.au/tickets-and-fares/fares/discounts-and-ways-to-save">Discounts and ways to save</a></li>
242
+ </ul>
243
+ </li>
244
+ </ul>
245
+ </div>
246
+ <div class="column">
247
+ <ul>
248
+ <li>
249
+ <a href="http://translink.com.au/tickets-and-fares/how-to">How to</a>
250
+ <ul>
251
+ <li><a href="http://translink.com.au/tickets-and-fares/how-to/how-to-use-a-fare-machine">How to use a fare machine</a></li>
252
+ <li><a href="http://translink.com.au/tickets-and-fares/how-to/how-to-buy-a-ticket">How to buy a ticket</a></li>
253
+ <li><a href="http://translink.com.au/tickets-and-fares/how-to/how-to-claim-a-refund-for-incorrect-change">How to claim a refund for incorrect change</a></li>
254
+ <li><a href="http://translink.com.au/tickets-and-fares/how-to/how-to-upgrade-your-ticket">How to upgrade your ticket</a></li>
255
+ <li><a href="http://translink.com.au/tickets-and-fares/how-to/tickets-and-fares-after-midnight">Tickets and fares after midnight</a></li>
256
+ </ul>
257
+ </li>
258
+ </ul>
259
+ </div>
260
+ </div>
261
+ </li>
262
+ <li><a href="http://translink.com.au/news-and-updates" id="newsMenuLink">News and updates</a></li>
263
+ <li><a href="http://translink.com.au/about-translink" id="aboutusMenuLink">About TransLink</a>
264
+ <div id="aboutusMenu" class="megamenu">
265
+ <div class="column">
266
+ <ul>
267
+ <li>
268
+ <a href="http://translink.com.au/about-translink/who-we-are">Who we are</a>
269
+ <ul>
270
+ <li><a href="http://translink.com.au/about-translink/who-we-are/our-culture-and-values">Our culture and values</a></li>
271
+ <li><a href="http://translink.com.au/about-translink/who-we-are/governance">Governance</a></li>
272
+ <li><a href="http://translink.com.au/about-translink/who-we-are/our-board">Our board</a></li>
273
+ <li><a href="http://translink.com.au/about-translink/who-we-are/our-leadership">Our leadership</a></li>
274
+ <li><a href="http://translink.com.au/about-translink/who-we-are/who-we-work-with">Who we work with</a></li>
275
+ </ul>
276
+ </li>
277
+ </ul>
278
+ <ul>
279
+ <li>
280
+ <a href="http://translink.com.au/about-translink/what-we-do">What we do</a>
281
+ <ul>
282
+ <li><a href="http://translink.com.au/about-translink/what-we-do/strategic-plan">Strategic plan</a></li>
283
+ <li><a href="http://translink.com.au/about-translink/what-we-do/customer-research">Customer research</a></li>
284
+ <li><a href="http://translink.com.au/about-translink/what-we-do/customer-service">Customer service</a></li>
285
+ <li><a href="http://translink.com.au/about-translink/what-we-do/public-transport-planning">Public transport planning</a></li>
286
+ <li><a href="http://translink.com.au/about-translink/what-we-do/infrastructure-projects">Infrastructure projects</a></li>
287
+ </ul>
288
+ </li>
289
+ </ul>
290
+ </div>
291
+ <div class="column">
292
+ <ul>
293
+ <li>
294
+ <a href="http://translink.com.au/about-translink/our-service-area">Our service area</a>
295
+ <ul>
296
+ <li><a href="http://translink.com.au/about-translink/our-service-area">Our service area</a></li>
297
+ </ul>
298
+ </li>
299
+ </ul>
300
+ <ul>
301
+ <li>
302
+ <a href="http://translink.com.au/about-translink/reporting-and-publications">Reporting and publications</a>
303
+ <ul>
304
+ <li><a href="http://translink.com.au/about-translink/reporting-and-publications/media-releases">Media releases</a></li>
305
+ <li><a href="http://translink.com.au/about-translink/reporting-and-publications/annual-and-quarterly-reports">Annual and quarterly reports</a></li>
306
+ <li><a href="http://translink.com.au/about-translink/reporting-and-publications/key-facts-and-figures">Key facts and figures</a></li>
307
+ <li><a href="http://translink.com.au/about-translink/reporting-and-publications/right-to-information">Right to information</a></li>
308
+ <li><a href="http://translink.com.au/about-translink/reporting-and-publications/translink-network-plan">TransLink Network Plan</a></li>
309
+ </ul>
310
+ </li>
311
+ </ul>
312
+ </div>
313
+ <div class="column">
314
+ <ul>
315
+ <li>
316
+ <a href="http://translink.com.au/about-translink/employment">Employment</a>
317
+ <ul>
318
+ <li><a href="https://smartjobs.qld.gov.au/jobtools/jncustomsearch.searchResults?in_organid=14904&amp;in_multi02_id=requirements.agencynumber&amp;in_multi02=%2215389%22" target="_blank">Jobs with TransLink</a></li>
319
+ <li><a href="http://translink.com.au/about-translink/employment/graduates">Graduates</a></li>
320
+ <li><a href="http://translink.com.au/about-translink/employment/types-of-work">Types of work</a></li>
321
+ <li><a href="http://translink.com.au/about-translink/employment/whats-it-like">What it&rsquo;s like</a></li>
322
+ <li><a href="http://translink.com.au/about-translink/employment/benefits-and-opportunities">Benefits and opportunities</a></li>
323
+ </ul>
324
+ </li>
325
+ </ul>
326
+ <ul>
327
+ <li>
328
+ <a href="http://translink.com.au/about-translink/business-and-partnership-opportunities">Business and partnership opportunities</a>
329
+ <ul>
330
+ <li><a href="http://translink.com.au/about-translink/business-and-partnership-opportunities/become-a-go-card-retailer">Become a <i>go</i> card retailer</a></li>
331
+ </ul>
332
+ </li>
333
+ </ul>
334
+ </div>
335
+ </div>
336
+ </li>
337
+ </ul>
338
+ </div>
339
+ </div>
340
+ <a id="content-shortcut" tabindex="0"></a>
341
+ <div id="contentContainer">
342
+ <div id="breadcrumbs">
343
+ <span class="access">You are here:</span>
344
+ <p>
345
+ <a href="http://translink.com.au/">Home</a>
346
+ <a href="http://translink.com.au/travel-information">Travel information</a>
347
+
348
+ <a href="http://translink.com.au/travel-information/services-and-timetables">Services and timetables</a>
349
+
350
+ <a href="http://translink.com.au/travel-information/services-and-timetables/buses">Buses</a>
351
+ <a href="/travel-information/services-and-timetables/buses/bus-timetables">Bus timetables</a>
352
+ City Buz 130 Via Sunnybank
353
+
354
+ </p>
355
+ </div>
356
+ <div id="contentleftCol">
357
+ <div id="headingBar" class="clearfix">
358
+ <h1>City Buz 130 Via Sunnybank</h1>
359
+ <span id="print"><a href="javascript:window.print()" class="noBorder">Print</a></span>
360
+ <span id="resize_up"><a href="#">increase text size</a></span>
361
+ <span id="resize_mid"><a href="#">reset text size</a></span>
362
+ <span id="resize_down"><a href="#">decrease text size</a></span>
363
+ </div>
364
+ <div class="underline indented">&nbsp;</div>
365
+
366
+ <div class="content">
367
+ <p>Services for <span style="font-weight: bold;">Monday 14 November 2011</span> - Inbound</p>
368
+ </div>
369
+ <div class="useful_green clearfix">
370
+ <form action="/travel-information/services-and-timetables/buses/view-bus-timetable/1925" method="get">
371
+ <span class="inputGroup">
372
+ <label for="timetableDate">Date</label><br />
373
+ <select class="dateSelection" id="timetableDate" name="timetableDate"><option value="2011-11-13">Today (Sunday)</option>
374
+ <option selected="selected" value="2011-11-14">Mon 14 Nov 2011</option>
375
+ <option value="2011-11-15">Tue 15 Nov 2011</option>
376
+ <option value="2011-11-16">Wed 16 Nov 2011</option>
377
+ <option value="2011-11-17">Thu 17 Nov 2011</option>
378
+ <option value="2011-11-18">Fri 18 Nov 2011</option>
379
+ <option value="2011-11-19">Sat 19 Nov 2011</option>
380
+ <option value="2011-11-20">Sun 20 Nov 2011</option>
381
+ <option value="2011-11-21">Mon 21 Nov 2011</option>
382
+ <option value="2011-11-22">Tue 22 Nov 2011</option>
383
+ <option value="2011-11-23">Wed 23 Nov 2011</option>
384
+ <option value="2011-11-24">Thu 24 Nov 2011</option>
385
+ <option value="2011-11-25">Fri 25 Nov 2011</option>
386
+ <option value="2011-11-26">Sat 26 Nov 2011</option>
387
+ <option value="2011-11-27">Sun 27 Nov 2011</option>
388
+ <option value="2011-11-28">Mon 28 Nov 2011</option>
389
+ <option value="2011-11-29">Tue 29 Nov 2011</option>
390
+ <option value="2011-11-30">Wed 30 Nov 2011</option>
391
+ <option value="2011-12-01">Thu 1 Dec 2011</option>
392
+ <option value="2011-12-02">Fri 2 Dec 2011</option>
393
+ <option value="2011-12-03">Sat 3 Dec 2011</option>
394
+ <option value="2011-12-04">Sun 4 Dec 2011</option>
395
+ <option value="2011-12-05">Mon 5 Dec 2011</option>
396
+ <option value="2011-12-06">Tue 6 Dec 2011</option>
397
+ <option value="2011-12-07">Wed 7 Dec 2011</option>
398
+ <option value="2011-12-08">Thu 8 Dec 2011</option>
399
+ <option value="2011-12-09">Fri 9 Dec 2011</option>
400
+ </select>
401
+ </span>
402
+ <span class="inputGroup">
403
+ <label for="Direction">Direction</label><br />
404
+ <select id="Direction" name="direction">
405
+ <option value="Inbound" selected="selected">Inbound</option>
406
+ <option value="Outbound">Outbound</option>
407
+ </select>
408
+ </span>
409
+ <span class="inputGroupButtons">
410
+ <input type="submit" value="Update results" class="blueButton" />
411
+ </span>
412
+ <input id="routeCode" name="routeCode" type="hidden" value="130" />
413
+ </form>
414
+ </div>
415
+ <div class="content" style="margin-top: 15px;">
416
+
417
+ <p>
418
+ Skip to:
419
+
420
+ <a href="#currenttime" class="bookmarkLink">current time</a> |
421
+ <a href="#9.00am" class="bookmarkLink">9.00am</a> | <a href="#12.00pm" class="bookmarkLink">12.00pm</a> | <a href="#3.00pm" class="bookmarkLink">3.00pm</a> | <a href="#6.00pm" class="bookmarkLink">6.00pm</a> | <a href="#9.00pm" class="bookmarkLink">9.00pm</a></p>
422
+
423
+ <table class="contentTable">
424
+ <caption class="access">Timetable summary for services</caption>
425
+ <thead>
426
+ <tr>
427
+ <th>Selected stops</th>
428
+
429
+ <th>130</th>
430
+
431
+ <th>130</th>
432
+
433
+ <th>130</th>
434
+
435
+ <th>130</th>
436
+
437
+ <th>130</th>
438
+
439
+ <th>130</th>
440
+
441
+ </tr>
442
+ </thead>
443
+ <tbody>
444
+
445
+ <tr>
446
+ <td>
447
+ Illaweena St (Waterstone)<br />
448
+ Waterstone, Illaweena St far side of Waterbrooke Crt
449
+ </td>
450
+
451
+ <td>
452
+ 5.00am
453
+
454
+ </td>
455
+
456
+ <td>
457
+ 5.10am
458
+
459
+ </td>
460
+
461
+ <td>
462
+ 5.20am
463
+
464
+ </td>
465
+
466
+ <td>
467
+ 5.30am
468
+
469
+ </td>
470
+
471
+ <td>
472
+ 5.40am
473
+
474
+ </td>
475
+
476
+ <td>
477
+ 5.50am
478
+
479
+ </td>
480
+
481
+ </tr>
482
+
483
+ <tr>
484
+ <td>
485
+ Parkinson East<br />
486
+ Parkinson East, Algester Rd approaching opposite Lake Eyre Cr
487
+ </td>
488
+
489
+ <td>
490
+ 5.03am
491
+
492
+ </td>
493
+
494
+ <td>
495
+ 5.13am
496
+
497
+ </td>
498
+
499
+ <td>
500
+ 5.23am
501
+
502
+ </td>
503
+
504
+ <td>
505
+ 5.33am
506
+
507
+ </td>
508
+
509
+ <td>
510
+ 5.43am
511
+
512
+ </td>
513
+
514
+ <td>
515
+ 5.53am
516
+
517
+ </td>
518
+
519
+ </tr>
520
+
521
+ <tr>
522
+ <td>
523
+ Algester<br />
524
+ Stop 83, 63 Ridgewood Rd (approaching Silkwood St)
525
+ </td>
526
+
527
+ <td>
528
+ 5.11am
529
+
530
+ </td>
531
+
532
+ <td>
533
+ 5.21am
534
+
535
+ </td>
536
+
537
+ <td>
538
+ 5.31am
539
+
540
+ </td>
541
+
542
+ <td>
543
+ 5.41am
544
+
545
+ </td>
546
+
547
+ <td>
548
+ 5.51am
549
+
550
+ </td>
551
+
552
+ <td>
553
+ 6.01am
554
+
555
+ </td>
556
+
557
+ </tr>
558
+
559
+ <tr>
560
+ <td>
561
+ Calam Rd<br />
562
+ Calam Road, Calam Rd (far side of Compton Rd)
563
+ </td>
564
+
565
+ <td>
566
+ 5.16am
567
+
568
+ </td>
569
+
570
+ <td>
571
+ 5.26am
572
+
573
+ </td>
574
+
575
+ <td>
576
+ 5.36am
577
+
578
+ </td>
579
+
580
+ <td>
581
+ 5.46am
582
+
583
+ </td>
584
+
585
+ <td>
586
+ 5.56am
587
+
588
+ </td>
589
+
590
+ <td>
591
+ 6.06am
592
+
593
+ </td>
594
+
595
+ </tr>
596
+
597
+ <tr>
598
+ <td>
599
+ Altandi<br />
600
+ Altandi, Mains Rd (far side of Shearwin St)
601
+ </td>
602
+
603
+ <td>
604
+ 5.25am
605
+
606
+ </td>
607
+
608
+ <td>
609
+ 5.35am
610
+
611
+ </td>
612
+
613
+ <td>
614
+ 5.45am
615
+
616
+ </td>
617
+
618
+ <td>
619
+ 5.55am
620
+
621
+ </td>
622
+
623
+ <td>
624
+ 6.05am
625
+
626
+ </td>
627
+
628
+ <td>
629
+ 6.15am
630
+
631
+ </td>
632
+
633
+ </tr>
634
+
635
+ <tr>
636
+ <td>
637
+ Sunnybank<br />
638
+ Sunnybank, Mains Rd (far side of Mccullough St)
639
+ </td>
640
+
641
+ <td>
642
+ 5.27am
643
+
644
+ </td>
645
+
646
+ <td>
647
+ 5.37am
648
+
649
+ </td>
650
+
651
+ <td>
652
+ 5.47am
653
+
654
+ </td>
655
+
656
+ <td>
657
+ 5.59am
658
+
659
+ </td>
660
+
661
+ <td>
662
+ 6.09am
663
+
664
+ </td>
665
+
666
+ <td>
667
+ 6.19am
668
+
669
+ </td>
670
+
671
+ </tr>
672
+
673
+ <tr>
674
+ <td>
675
+ Mains Rd Park & Ride<br />
676
+ Mains Rd Park & Ride, Mains Rd opposite approaching Omeo St
677
+ </td>
678
+
679
+ <td>
680
+ 5.30am
681
+
682
+ </td>
683
+
684
+ <td>
685
+ 5.40am
686
+
687
+ </td>
688
+
689
+ <td>
690
+ 5.50am
691
+
692
+ </td>
693
+
694
+ <td>
695
+ 6.02am
696
+
697
+ </td>
698
+
699
+ <td>
700
+ 6.12am
701
+
702
+ </td>
703
+
704
+ <td>
705
+ 6.22am
706
+
707
+ </td>
708
+
709
+ </tr>
710
+
711
+ <tr>
712
+ <td>
713
+ Griffith University Busway<br />
714
+ Griffith University Platform 1, South East Busway At Sports Rd
715
+ </td>
716
+
717
+ <td>
718
+ 5.34am
719
+
720
+ </td>
721
+
722
+ <td>
723
+ 5.44am
724
+
725
+ </td>
726
+
727
+ <td>
728
+ 5.54am
729
+
730
+ </td>
731
+
732
+ <td>
733
+ 6.06am
734
+
735
+ </td>
736
+
737
+ <td>
738
+ 6.16am
739
+
740
+ </td>
741
+
742
+ <td>
743
+ 6.26am
744
+
745
+ </td>
746
+
747
+ </tr>
748
+
749
+ <tr>
750
+ <td>
751
+ Mater Hill Busway<br />
752
+ Mater Hill Platform 1, South East Busway opposite Raymond Tce
753
+ </td>
754
+
755
+ <td>
756
+ 5.42am
757
+
758
+ </td>
759
+
760
+ <td>
761
+ 5.52am
762
+
763
+ </td>
764
+
765
+ <td>
766
+ 6.02am
767
+
768
+ </td>
769
+
770
+ <td>
771
+ 6.14am
772
+
773
+ </td>
774
+
775
+ <td>
776
+ 6.24am
777
+
778
+ </td>
779
+
780
+ <td>
781
+ 6.34am
782
+
783
+ </td>
784
+
785
+ </tr>
786
+
787
+ <tr>
788
+ <td>
789
+ South Bank Busway<br />
790
+ South Bank Platform 1, South East Busway At Tribune St
791
+ </td>
792
+
793
+ <td>
794
+ 5.44am
795
+
796
+ </td>
797
+
798
+ <td>
799
+ 5.54am
800
+
801
+ </td>
802
+
803
+ <td>
804
+ 6.04am
805
+
806
+ </td>
807
+
808
+ <td>
809
+ 6.16am
810
+
811
+ </td>
812
+
813
+ <td>
814
+ 6.26am
815
+
816
+ </td>
817
+
818
+ <td>
819
+ 6.36am
820
+
821
+ </td>
822
+
823
+ </tr>
824
+
825
+ <tr>
826
+ <td>
827
+ Cultural Centre Busway<br />
828
+ Cultural Centre Platform 1, South East Busway At Grey St
829
+ </td>
830
+
831
+ <td>
832
+ 5.46am
833
+
834
+ </td>
835
+
836
+ <td>
837
+ 5.56am
838
+
839
+ </td>
840
+
841
+ <td>
842
+ 6.06am
843
+
844
+ </td>
845
+
846
+ <td>
847
+ 6.18am
848
+
849
+ </td>
850
+
851
+ <td>
852
+ 6.28am
853
+
854
+ </td>
855
+
856
+ <td>
857
+ 6.38am
858
+
859
+ </td>
860
+
861
+ </tr>
862
+
863
+ <tr>
864
+ <td>
865
+ Queen St Bus Station A6<br />
866
+ Qsbs Stop A6
867
+ </td>
868
+
869
+ <td>
870
+ 5.50am
871
+
872
+ </td>
873
+
874
+ <td>
875
+ 6.00am
876
+
877
+ </td>
878
+
879
+ <td>
880
+ 6.10am
881
+
882
+ </td>
883
+
884
+ <td>
885
+ 6.22am
886
+
887
+ </td>
888
+
889
+ <td>
890
+ 6.32am
891
+
892
+ </td>
893
+
894
+ <td>
895
+ 6.42am
896
+
897
+ </td>
898
+
899
+ </tr>
900
+
901
+ </tbody>
902
+
903
+ <tfoot>
904
+ <tr>
905
+ <td><strong>Click for times for all stops</strong></td>
906
+
907
+ <td style="white-space: nowrap">
908
+ <a href="/travel-information/services-and-timetables/trip-details/281889?timetableDate=2011-11-14" title="Trip times for all stops">Trip details</a>
909
+ </td>
910
+
911
+ <td style="white-space: nowrap">
912
+ <a href="/travel-information/services-and-timetables/trip-details/281890?timetableDate=2011-11-14" title="Trip times for all stops">Trip details</a>
913
+ </td>
914
+
915
+ <td style="white-space: nowrap">
916
+ <a href="/travel-information/services-and-timetables/trip-details/281891?timetableDate=2011-11-14" title="Trip times for all stops">Trip details</a>
917
+ </td>
918
+
919
+ <td style="white-space: nowrap">
920
+ <a href="/travel-information/services-and-timetables/trip-details/281892?timetableDate=2011-11-14" title="Trip times for all stops">Trip details</a>
921
+ </td>
922
+
923
+ <td style="white-space: nowrap">
924
+ <a href="/travel-information/services-and-timetables/trip-details/281893?timetableDate=2011-11-14" title="Trip times for all stops">Trip details</a>
925
+ </td>
926
+
927
+ <td style="white-space: nowrap">
928
+ <a href="/travel-information/services-and-timetables/trip-details/251997?timetableDate=2011-11-14" title="Trip times for all stops">Trip details</a>
929
+ </td>
930
+
931
+ </tr>
932
+ </tfoot>
933
+
934
+ </table>
935
+ <br />
936
+ <br />
937
+
938
+ <table class="contentTable">
939
+ <caption class="access">Timetable summary for services</caption>
940
+ <thead>
941
+ <tr>
942
+ <th>Selected stops</th>
943
+
944
+ <th>130</th>
945
+
946
+ </tr>
947
+ </thead>
948
+ <tbody>
949
+
950
+ <tr>
951
+ <td>
952
+ Illaweena St (Waterstone)<br />
953
+ Waterstone, Illaweena St far side of Waterbrooke Crt
954
+ </td>
955
+
956
+ <td>
957
+ 10.51pm
958
+
959
+ </td>
960
+
961
+ </tr>
962
+
963
+ <tr>
964
+ <td>
965
+ Parkinson East<br />
966
+ Parkinson East, Algester Rd approaching opposite Lake Eyre Cr
967
+ </td>
968
+
969
+ <td>
970
+ 10.53pm
971
+
972
+ </td>
973
+
974
+ </tr>
975
+
976
+ <tr>
977
+ <td>
978
+ Algester<br />
979
+ Stop 83, 63 Ridgewood Rd (approaching Silkwood St)
980
+ </td>
981
+
982
+ <td>
983
+ 11.02pm
984
+
985
+ </td>
986
+
987
+ </tr>
988
+
989
+ <tr>
990
+ <td>
991
+ Calam Rd<br />
992
+ Calam Road, Calam Rd (far side of Compton Rd)
993
+ </td>
994
+
995
+ <td>
996
+ 11.06pm
997
+
998
+ </td>
999
+
1000
+ </tr>
1001
+
1002
+ <tr>
1003
+ <td>
1004
+ Altandi<br />
1005
+ Altandi, Mains Rd (far side of Shearwin St)
1006
+ </td>
1007
+
1008
+ <td>
1009
+ 11.12pm
1010
+
1011
+ </td>
1012
+
1013
+ </tr>
1014
+
1015
+ <tr>
1016
+ <td>
1017
+ Sunnybank<br />
1018
+ Sunnybank, Mains Rd (far side of Mccullough St)
1019
+ </td>
1020
+
1021
+ <td>
1022
+ 11.14pm
1023
+
1024
+ </td>
1025
+
1026
+ </tr>
1027
+
1028
+ <tr>
1029
+ <td>
1030
+ Mains Rd Park & Ride<br />
1031
+ Mains Rd Park & Ride, Mains Rd opposite approaching Omeo St
1032
+ </td>
1033
+
1034
+ <td>
1035
+ 11.17pm
1036
+
1037
+ </td>
1038
+
1039
+ </tr>
1040
+
1041
+ <tr>
1042
+ <td>
1043
+ Griffith University Busway<br />
1044
+ Griffith University Platform 1, South East Busway At Sports Rd
1045
+ </td>
1046
+
1047
+ <td>
1048
+ 11.21pm
1049
+
1050
+ </td>
1051
+
1052
+ </tr>
1053
+
1054
+ <tr>
1055
+ <td>
1056
+ Mater Hill Busway<br />
1057
+ Mater Hill Platform 1, South East Busway opposite Raymond Tce
1058
+ </td>
1059
+
1060
+ <td>
1061
+ 11.29pm
1062
+
1063
+ </td>
1064
+
1065
+ </tr>
1066
+
1067
+ <tr>
1068
+ <td>
1069
+ South Bank Busway<br />
1070
+ South Bank Platform 1, South East Busway At Tribune St
1071
+ </td>
1072
+
1073
+ <td>
1074
+ 11.31pm
1075
+
1076
+ </td>
1077
+
1078
+ </tr>
1079
+
1080
+ <tr>
1081
+ <td>
1082
+ Cultural Centre Busway<br />
1083
+ Cultural Centre Platform 1, South East Busway At Grey St
1084
+ </td>
1085
+
1086
+ <td>
1087
+ 11.33pm
1088
+
1089
+ </td>
1090
+
1091
+ </tr>
1092
+
1093
+ <tr>
1094
+ <td>
1095
+ Queen St Bus Station A6<br />
1096
+ Qsbs Stop A6
1097
+ </td>
1098
+
1099
+ <td>
1100
+ 11.36pm
1101
+
1102
+ </td>
1103
+
1104
+ </tr>
1105
+
1106
+ </tbody>
1107
+
1108
+ <tfoot>
1109
+ <tr>
1110
+ <td><strong>Click for times for all stops</strong></td>
1111
+
1112
+ <td style="white-space: nowrap">
1113
+ <a href="/travel-information/services-and-timetables/trip-details/252075?timetableDate=2011-11-14" title="Trip times for all stops">Trip details</a>
1114
+ </td>
1115
+
1116
+ </tr>
1117
+ </tfoot>
1118
+
1119
+ </table>
1120
+ <br />
1121
+ <br />
1122
+
1123
+ <div class="icon_info">
1124
+ <p class="icon_info">Check <a href="http://translink.com.au/travel-information/service-updates">service updates</a> for current service status and upcoming changes before you travel</p>
1125
+
1126
+ </div>
1127
+ </div>
1128
+
1129
+ </div>
1130
+ <div id="contentrightCol" class="clearfix">
1131
+
1132
+
1133
+ <div class="panel first">
1134
+ <h3>Related Links</h3>
1135
+ <ul>
1136
+ <li>
1137
+ <a href="http://translink.com.au/travel-information/services-and-timetables/search/results?term=130&amp;mode%5B%5D=2&amp;processSearch=submit">Service updates and printable timetable for this route</a>
1138
+ </li>
1139
+ </ul>
1140
+ </div>
1141
+
1142
+
1143
+ </div>
1144
+ </div>
1145
+ <a id="footer-shortcut" tabindex="0"></a>
1146
+ <div id="footer">
1147
+ <div id="footer-nav">
1148
+ <div id="footer-travelinfo" class="footer-links leftalign">
1149
+ <h2>Travel Information</h2>
1150
+ <div class="underline">&nbsp;</div>
1151
+ <ul>
1152
+ <li>
1153
+ <a href="/travel-information/journey-planner" title="Plan your journey">Journey planner</a>
1154
+ </li>
1155
+ <li>
1156
+ <a href="http://translink.com.au/travel-information/services-and-timetables" title="View information about our services and timetables">Services and timetables</a>
1157
+ </li>
1158
+ <li>
1159
+ <a href="http://translink.com.au/travel-information/maps" title="See our maps">
1160
+ Maps
1161
+ </a>
1162
+ </li>
1163
+ <li>
1164
+ <a href="http://translink.com.au/travel-information/service-updates" title="View current status and upcoming changes">
1165
+ Service updates
1166
+ </a>
1167
+ </li>
1168
+ <li>
1169
+ <a href="http://translink.com.au/travel-information/how-to" title="How to guides">
1170
+ How to&hellip;
1171
+ </a>
1172
+ </li>
1173
+ </ul>
1174
+ <ul>
1175
+ <li><a href="http://translink.com.au/travel-information" title="More travel information">
1176
+ More travel information</a></li>
1177
+ </ul>
1178
+ </div>
1179
+ <div id="footer-tickets" class="footer-links leftalign">
1180
+ <h2>Tickets and fares</h2>
1181
+ <div class="underline">&nbsp;</div>
1182
+ <ul>
1183
+ <li>
1184
+ <a href="http://translink.com.au/tickets-and-fares/go-card" title="View information about go card"><i>go</i> card</a>
1185
+ </li>
1186
+ <li>
1187
+ <a href="http://translink.com.au/tickets-and-fares/other-tickets" title="View information about our other tickets and passes">Other tickets</a>
1188
+ </li>
1189
+ <li>
1190
+ <a href="http://translink.com.au/tickets-and-fares/fares" title="View information about fares">Fares</a>
1191
+ </li>
1192
+ <li><a href="http://translink.com.au/tickets-and-fares/how-to" title="How to guides">
1193
+ How to&hellip;</a></li>
1194
+ </ul>
1195
+ <ul>
1196
+ <li><a href="http://translink.com.au/tickets-and-fares" title="More on tickets and fares">More
1197
+ on tickets and fares</a></li>
1198
+ </ul>
1199
+ </div>
1200
+ <div id="footer-about" class="leftalign">
1201
+ <h2>About TransLink</h2>
1202
+ <div class="underline">&nbsp;</div>
1203
+ <ul>
1204
+ <li>
1205
+ <a href="http://translink.com.au/about-translink/who-we-are" title="Find out more about who we are">Who we are</a>
1206
+ </li>
1207
+ <li>
1208
+ <a href="http://translink.com.au/about-translink/what-we-do" title="See what we do">What we do</a>
1209
+ </li>
1210
+ <li>
1211
+ <a href="http://translink.com.au/about-translink/what-we-do/public-transport-planning" title="See what we've got planned for the future">Our future plans</a>
1212
+ </li>
1213
+ <li>
1214
+ <a href="http://translink.com.au/about-translink/our-service-area" title="View information about where we operate">Our service area</a>
1215
+ </li>
1216
+ <li>
1217
+ <a href="http://translink.com.au/about-translink/reporting-and-publications" title="View our reports and publications">Reporting and publications</a>
1218
+ </li>
1219
+ </ul>
1220
+ <ul>
1221
+ <li>
1222
+ <a href="http://translink.com.au/about-translink" title="More about TransLink">More about TransLink</a>
1223
+ </li>
1224
+ </ul>
1225
+ </div>
1226
+ <div id="footer-searchbox" class="rightalign">
1227
+ <h3 id="cantfindheading">
1228
+ Can't find what you're looking for? Try&hellip;</h3>
1229
+ <form action="http://pan.search.qld.gov.au/search/search.cgi" class="searchform jLabel" id="footer-search" name="footer-search">
1230
+ <fieldset>
1231
+ <legend class="access">Search the TransLink website</legend>
1232
+ <input type="hidden" name="num_ranks" value="10" />
1233
+ <input type="hidden" name="tiers" value="off" />
1234
+ <input type="hidden" name="collection" value="qld-gov" />
1235
+ <input type="hidden" name="profile" value="translink" />
1236
+ <p>
1237
+ <label for="searchbox2" id="searchlabel2">
1238
+ Search site&hellip;</label>
1239
+ <input type="text" name="query" id="searchbox2" value="" class="searchfield" autocomplete="off" /><input
1240
+ type="submit" value="Search" class="searchbutton" id="footersearch-button" />
1241
+ </p>
1242
+ </fieldset>
1243
+ </form>
1244
+ <ul id="footer-courtesy">
1245
+ <li><a href="http://translink.com.au/utils/goto/context/mobile" title="View the website on your mobile">Mobile site</a></li>
1246
+ <li><a href="http://translink.com.au/tickets-and-fares/go-card/online" title="go card"><i>go</i> card login</a></li>
1247
+ <li><a href="http://translink.com.au/site-information/site-map" title="An overview of the entire TransLink website">Site map</a></li>
1248
+ <li class="last"><a href="http://translink.com.au/site-information/contact-us-and-help" title="Call us on 13 12 30, e-mail us, see us in person, follow us on Twitter, or send us a letter.">Contact us &amp; help</a></li>
1249
+ </ul>
1250
+ <div id="footer-icons">
1251
+ <a class="hotspot1" href="http://translink.com.au/travel-information/services-and-timetables/buses" title="View the bus services page.">&nbsp;</a>
1252
+ <a class="hotspot2" href="http://translink.com.au/travel-information/services-and-timetables/trains" title="View the train services page.">&nbsp;</a>
1253
+ <a class="hotspot3" href="http://translink.com.au/travel-information/services-and-timetables/ferries" title="View the ferry services page.">&nbsp;</a>
1254
+ </div>
1255
+ </div>
1256
+ </div>
1257
+ <div id="footer-languages" class="textShadowDark">
1258
+ <h3>Information in your language</h3>
1259
+ <ul id="section-other-languages" class="clearfix">
1260
+ <li class="first"><a href="http://translink.com.au/site-information/languages/arabic" title="Arabic"><span dir="rtl">&#1575;&#1604;&#1593;&#1585;&#1576;&#1610;&#1577;</span></a></li>
1261
+ <li><a href="http://translink.com.au/site-information/languages/chinese" title="Chinese">&#31616;&#20307;&#20013;&#25991;</a></li>
1262
+ <li><a href="http://translink.com.au/site-information/languages/french" title="French">Fran&ccedil;ais</a></li>
1263
+ <li><a href="http://translink.com.au/site-information/languages/german" title="German">Deutsch</a></li>
1264
+ <li><a href="http://translink.com.au/site-information/languages/greek" title="Greek">&epsilon;&lambda;&lambda;&eta;&nu;&iota;&kappa;&#940;</a></li>
1265
+ <li><a href="http://translink.com.au/site-information/languages/italian" title="Italian">Italiano</a></li>
1266
+ <li><a href="http://translink.com.au/site-information/languages/japanese" title="Japanese">&#26085;&#26412;&#35486;</a></li>
1267
+ <li><a href="http://translink.com.au/site-information/languages/korean" title="Korean">&#54620;&#44397;&#50612;</a></li>
1268
+ <li><a href="http://translink.com.au/site-information/languages/serbian" title="Serbian">&#1057;&#1088;&#1087;&#1089;&#1082;&#1080;</a></li>
1269
+ <li><a href="http://translink.com.au/site-information/languages/spanish" title="Spanish">Espa&ntilde;ol</a></li>
1270
+ <li><a href="http://translink.com.au/site-information/languages/vietnamese" title="Vietnamese">Vi&#7879;t Ng&#7919;</a></li>
1271
+ </ul>
1272
+ </div>
1273
+ <div id="footer-end">
1274
+ <ul id="section-footer-links">
1275
+ <li><a href="http://translink.com.au/site-information/legal/copyright" title="Copyright">Copyright</a></li>
1276
+ <li><a href="http://translink.com.au/site-information/legal/disclaimer" title="Disclaimer">Disclaimer</a></li>
1277
+ <li><a href="http://translink.com.au/site-information/legal/privacy" title="Privacy">Privacy</a></li>
1278
+ <li><a href="http://translink.com.au/about-translink/reporting-and-publications/right-to-information" title="Right to information">Right to information</a></li>
1279
+ <li class="last"><a href="http://translink.com.au/site-information/contact-us-and-help/website-help" title="Website help">Website help</a></li>
1280
+ </ul>
1281
+ <p>&copy; TransLink Transit Authority 2010 <span style="color: #999;">v1.7.7.139</span></p>
1282
+ </div>
1283
+ </div>
1284
+ </div>
1285
+ </div>
1286
+ </div>
1287
+ </body>
1288
+ </html>