Bus Arrivals is an iOS shortcut that tells you when the bus comes. (What's a shortcut?)

Looking for documentation on Bus Arrivals 12 instead? →

Documentation below for release 13

Features

This shortcut lets you get bus arrival times at a bus stop, and it finds bus stops near you based on your location.

User Friendly and informative: The shortcut tells you exactly what you need, that is, when the bus will come, and whether you should take that, or wait for the next one, as it warns you if the bus is crowded or wheelchair-inaccessible. And getting to this information is easier than ever, with good Siri support. It even has a mode where the result is displayed in a large font so it is easy to read even when there is a lot of buses.

Easy set up: The shortcut is preset to work beautifully even without setting up anything. Unlike other shortcuts, Bus arrivals dosen't need you to preset a few bus stops that it is able to get arrival information for. Instead, it allows you to both preset, as well as search for bus stops near you, so you can get bus arrival information whereever you are. And you can still customise how the shortcut runs, giving you greater control on the shortcut and making it work for you.

Powerful: Choose between a basic or detailed mode, and how to search for a bus stop: preset bus stop codes, entering a bus stop code every time or by location. And the shortcut integrates with Apple Maps too: share to the shortcut a location in Singapore and it searches the area for bus stops, whuch you can then get bus arrival information for.

Some features require an LTA API key, which you can get very easily at mytransport.sg

This shortcut requires an internet connection, and iOS/iPadOS 15, watchOS 8 & macOS 12 or later.

Setting up Bus Arrivals

When you first run the shortcut, you will be taken through the set up process. The "Configure this Shortcut" panel wll appear when you first download the shortcut. the panel can be accessed again in Shortcut Details > Setup (Shortcut Details is the button with the three sliders in the shortcut editor). If you leave the field blank, the shortcut will use the default settings, which is fine for most users.

The first question is to set settings. Type in a setting code to enable the setting. See the Shortcut Settings section for the codes.

Next, you'll be asked to select a folder for Bus Arrivals to save files in. The default folder selected is iCloud Drive > Shortcuts > Bus arrivals, which should already exist if you have used Bus Arrivals 10 and later. You can choose any folder you like, but if you leave the field blank or select a folder inaccessible to the device running the shortcut (for example you set a local folder on your mac but run the shortcut on iPhone), the shortcut will simply not save any files and load the needed files from the internet. this may increase data usage.

Subsequently, you'll be asked about favourite bus stops. The shortcut would normally find nearby bus stops and ask you tochoose from the nearby bus stops the bus stop you want to get bus arrival information for. You can add favourite bus stops to always have these bus stops appear in the bus stop selection list so you can quickly select them.

Lastly, you'll be asked about whether you have an API key. A DataMall API key can enable features only avaliable using LTA'a DataMAll API. If you don't have an API key, the shortcut will use the ArrivaLah API instead, but you will still get basic bus arrival information. See the API key section for more information.

Using this shortcut

Help for using Bus Arrivals is also avaliable in the shortcut itself. Find it in the shortcut options menu, under "About Bus Arrivals"

When you run this shortcut, the shortcut will search for nearby bus stops and then present them in a list. Pick a bus stop to get arrival information for and the shortcut will load the arrival information and present it. After dismissing the results, the shortcut will return to the list of bus stops.

You run the shortcut from Siri by saying "Hey Siri, run Bus Arrivals.". Siri will read out the list of nearby bus stops if there aren't too many and you can reply with the name of the bus stop or the bus stop code. It will then read out the bus arrival information. When run from Siri the shortcut will end after the bus arrival information is read out.

If you are not looking for arrival information at a bus stop near you, you can choose the "Search bus stop code" option below the list of nearby bus stops to get arrival information at a specific bus stop.

There is also the Shortcut options menu, located under the list of bus stops, that allows you to manage the storage Bus Arrivals is using ans well as to check for updates and access the shortcut guide.

In the results, you may see the following symbols:

  • 👤 (“Silhouette of person”) means that the bus is slightly crowded with standing room only.
  • 👥 (“Silhouette of two people”)means the bus is very crowded with limited space available.
  • (Stop #2) means the bus is stopping here for the second time on its route. See the route information board at the bus stop for details. (Only avaliable with an API key)
  • (Last Stop: ) means this bus terminates before the terminus of the route it is on. See the route information board at the bus stop for details. (Only avaliable with an API key)
  • If &T is enabled you will also see "SD", "DD", and "BD", which represent single-decker bus, double-decker bus, and Bendy (articulated) bus respectively.

Note that only routes in operation are shown.

Tips

You can add a Shortcuts widget to the Today View so that you can use the shortcut while the iPhone is locked.

You can set favourite bus stops by entering their bus stop code in Shortcut Details > Setup or when first setting up the shortcut by entering its bus stop code. These bus stops will always appear at the top of the bus stop list so you can easily get bus arrival information for them.

The shortcut can also be run from the Maps app on iOS. Selct a location, and select Share. In the Share sheet, you can launch Bus Arrivals, which will look for bus stops around that location and let you check bus arrival information for those bus stops.

The shortcut also accepts input from other shortcuts. You can pass the shortcut a bus stop code and the shortcut will output a text with the bus arrival information for that bus stop. this can be useful for iintegrating with other shortcuts. You can pass settings codes too and the shortcut will run with those settings.

Shortcut settings

When you configure the shortcut for the first time, you can change how the shortcut runs every time by typing in the corresponding code for each setting. You can change these settings in Shortcut Details > Setup.

The settings avaliable are:

  1. &B <XXXX>, where X is a bus service number, causes the shortcut to only return the arrival information for the specified bus service. Only works with an LTA API key.
  2. &d causes the shortcut to never show the destination of the buses. By default the destination of the next bus is shown (if there is an API key).
  3. &f disabled loading and saving files from the file system. All files needed are loaded every time from the internet. This is enabled when the shortcut is run on Apple Watch.
  4. &g causes the shortcut to only not load and save bus stop information. Bus stop information is loaded every time from the internet.
  5. &m causes the shortcut to not check for train service disruptions. This setting only works when the shortcut is running with an API key.
  6. &P causes the shortcut to not use the nearby bus stop finder and ask for a bus stop code instead. If you want to use the nearby bus stop finder or access the Shortcut Options menu when &P is enabled, you can enter "0" as the bus stop code.
  7. &Q <X>, where X is a number, changes the search radius of the nearby bus stop finder. Each 1 unit represents 0.001 longitude and 0.001 latitude, and the default is 1, which causes the shortcut to search a 0.003 by 0.003 square centred on you.
  8. &T causes the shortcut to show the type of each bus (single decker, double decker or beding bus).
  9. &U causes the shortcut to check for updates.
  10. &0 causes the shortcut to ignore all settings saved. Useful when running Bus Arrivals from another shortcut.
  11. Passing a bus stop code as input to the shortcut will cause the shortcut to directly load bus arrival information and return the results as output, which would be the same text as when you run the shortcut.

When you run the shortcut from Maps, &P is ignored.

API Key

An LTA DataMall API key, avaliable here, allows the shortcut to use DataMall directly, instead of the ArriveLah API, which the shortcut uses when no API key is found. The API key enables features like train disruption alerts and the direction of the bus to be shown.

About Bus Arrivals and storage

The shortcut will store update status and cache bus arrival information if &f is not enabled. You can change where the files are stored in Shortcut Details > Setup. If you choose a folder only avaliable locally on one device, and you run the shortcut from another device, the other device will run as if &f is enabled.

If you have enabled &f, when setting up your shortcut you can leave the folder selection question blank.

You should select a location that has at least 20 MB of storage avaliable. You can check how much storage Bus Arrivals is using in the Shortcut options menu, under "Manage cache".

About Bus Arrivals and your Privacy

The shortcut may request access for the follwing:

  • Your location is needed to find bus stops nearby. If &P is not enabled your location is not needed. Bus Arrivals uses your location that is accurate up to 100m.
  • The shortcut needed to access the folder you selected to save files. The shortcut only ever saves update information and bus stop information. No other information is saved. If &f is enabled the shortcut does not save anything onto the filesystem.
  • The shortcut will need to access electhrinodocs.netlify.app to find bus stops near you. The longitude from your location is used to find the correct file with the nearby bus stops. Only the longitude, up to 3 decimal places, is used. Other details of your location is not sent.
  • The shortcut will need to access datamall2.mytransport.sg (if you have an API key) or arrivelah2.busrouter.sg to retreive bus arrival information. The bus stop code of the bus stop you selected or searched for is used to get bus arrival times. Only the bus stop code is sent.
  • The shortcut will need to access datamall2.mytransport.sg (if you have an API key) to check for train disruptions.
  • The shortcut will need to access routinehub.co to check for updates.
  • The shortcut may ask to run other shortcuts. This is so that it can run itself again (This is a workaround so that the shortcut can do things).
  • The shortcut will need to access your clipboard during the update process to copy your API key so that you can paste it in when setting up the new shortcut.

The new Privacy prompts in iOS 15/watchOS 8/macOS Monterey do not actually reflect the data that is being sent or saved or accessed. Instead it shows the original information the shortcut has processed from. So the shortcut will claim to be sending off data its not actually sending off simply because the data is derived from your location, for example.

Acknowledgements

The shortcut is hosted on routinehub.co, which is run by Harley Hicks. Updates are checked for using RoutineHub's API

Data sourced from the ArriveLah API, which is avaliable on GitHub by cheeaun. See License.

Data sourced from the Land Transport Data Mall APIs, if you have an API key, which is managed by the Land Transport Authority, Government of Singapore. Data is protected by copyright by the Government of Singapore.