### Example data-sources.xml Configuration
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/onebusaway-api-key-cli/README.md
An example XML configuration file for setting up the database connection. Ensure the database schema is already created.
```xml
```
--------------------------------
### Deployed Webapp Path Examples
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Webapp-Configuration-Guide
Examples of file system paths for deployed webapp directories in different environments.
```text
/Users/bdferris/oba/apache-tomcat-config/onebusaway-webapp/wtpwebapps/onebusaway-webapp
```
```text
D:\Eclipse_Juno\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
```
```text
D:\Eclipse_Juno\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\onebusaway-webapp
```
--------------------------------
### Example Eclipse WTP Deploy Path
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Developer-Guide
An example of the -Dwtp.deploy argument found in Eclipse's server launch configuration. Append 'onebusaway-webapp' to this path to get the full deployed webapp path.
```text
D:\Eclipse_Juno\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
```
--------------------------------
### List API Keys Example
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/onebusaway-api-key-cli/README.md
Example command to list all API keys using the CLI tool. Requires a configuration file path.
```bash
java -jar onebusaway-api-key-cli/target/onebusaway-api-key-cli-2.7.1-withAllDependencies.jar \
list \
--config api-key-cli-data-source.xml
```
--------------------------------
### Install Tomcat, Git, and MySQL on Ubuntu
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Linux-Hints-and-Tips
Installs necessary packages for deploying OneBusAway on Ubuntu 12.04 LTS.
```bash
user@ubuntu:~$ sudo apt-get install tomcat6 git openjdk-6-jdk mysql-server
```
--------------------------------
### Start HSQLDB Server for OneBusAway
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/HSQLDB-Configuration
Execute this command in a new shell to start the HSQLDB server. Ensure the hsqldb-2.3.2.jar is in your classpath. This command configures multiple databases for different modules.
```bash
java -cp hsqldb-2.3.2.jar org.hsqldb.server.Server \
--database.0 file:admin --dbname.0 admin \
--database.1 file:agency --dbname.1 agency \
--database.2 file:bundle --dbname.2 bundle \
--database.3 file:gtfs --dbname.3 gtfs \
--database.4 file:assigned --dbname.4 assigned \
--database.5 file:web --dbname.5 web
```
--------------------------------
### Block Configuration XML Example
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/elements/block-configuration.md
An example of the XML structure, showing active service IDs, inactive service IDs, and a sequence of block trips with their associated stop times.
```xml
1_116-WEEK1_15415757045.792414485716040.01_75995216072160700...
...
00.0
```
--------------------------------
### Sample HTTP Request for Arrivals and Departures
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/methods/arrivals-and-departures-for-stop.md
Example of an HTTP GET request to retrieve arrivals and departures for a given stop ID. Replace TEST with your API key.
```http
http://api.pugetsound.onebusaway.org/api/where/arrivals-and-departures-for-stop/1_75403.xml?key=TEST
```
--------------------------------
### Start OneBusAway Webapp with Bundle
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/onebusaway-quickstart/onebusaway-quickstart-mains/src/main/resources/org/onebusaway/quickstart/bootstrap/usage-webapp.txt
This command starts the OneBusAway web application, requiring a path to a previously built transit data bundle. The `-Xmx1G` flag allocates 1GB of memory to the Java Virtual Machine.
```bash
java -Xmx1G -server -jar onebusaway-quickstart.war -webapp path/to/your/bundle
```
--------------------------------
### Launch OneBusAway GUI Wizard
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/onebusaway-quickstart/onebusaway-quickstart-bootstrap/src/main/resources/org/onebusaway/quickstart/bootstrap/usage.txt
Command to start the graphical user interface for configuration.
```bash
% java -jar onebusaway-quickstart.war -gui
```
--------------------------------
### Example Deployed Webapp Path in Eclipse
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Developer-Guide
An example of the file path to your deployed onebusaway-webapp within Eclipse. This path is needed when configuring the helper Java application.
```text
/Users/bdferris/oba/apache-tomcat-config/onebusaway-webapp/wtpwebapps/onebusaway-webapp
```
--------------------------------
### Manage Tomcat Server
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Linux-Hints-and-Tips
Commands to start the Tomcat service and inspect startup logs.
```bash
user@ubuntu:~src$ sudo /etc/init.d/tomcat start
```
```bash
user@ubuntu:~src$ sudo less /var/log/tomcatX/catalina.out
```
--------------------------------
### Build OneBusAway Application Modules with Maven
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Home
Use this command to clean, compile, and install the OneBusAway application modules using Maven. Ensure you have Java 11 and Maven 3.5.4 installed.
```bash
mkdir ~/src
cd ~/src
git checkout git@github.com:onebusaway/onebusaway-applicaton-modules
cd onebusaway-applicaton-modules
mvn clean install
```
--------------------------------
### Example Stop Element
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/elements/stop.md
This is an example of the <stop/> XML element, which models a transit stop. It includes fields like ID, location, direction, name, code, location type, wheelchair accessibility, and associated route IDs.
```xml
1_7540347.6543655-122.305206SStevens Way & BENTON LANE754030ACCESSIBLE1_31...
```
--------------------------------
### Build OneBusAway Modules
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Enterprise-Webapp-Configuration
Compile and install the OneBusAway application modules using Maven.
```bash
$ mvn clean install
```
--------------------------------
### Sample Request for trips-for-route
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/methods/trips-for-route.md
Example URL structure for querying active trips for a specific route.
```http
http://api.pugetsound.onebusaway.org/api/where/trips-for-route/1_100224.xml?key=TEST
```
--------------------------------
### Display Build and Webapp Configuration Options
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/GTFS-realtime-Quick-Start
Use the -help option with the onebusaway-quickstart-assembly.war to view all available configuration options for the build and webapp, including real-time information setup.
```bash
java -jar onebusaway-quickstart-assembly.war -help
```
--------------------------------
### Sample Trip Details API Request
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/methods/trip-details.md
Example of an HTTP GET request to the trip-details API endpoint. Replace TEST with your API key.
```http
http://api.pugetsound.onebusaway.org/api/where/trip-details/1_47805860.xml?key=TEST
```
--------------------------------
### Run OneBusAway QuickStart via Command-Line
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/OneBusAway-Quickstart-Guide
Use this command to launch the OneBusAway web application with increased memory allocation and server optimization settings.
```bash
java -Xmx1G -server -jar onebusaway-quickstart-assembly-1.1.19-api-webapp.war
```
--------------------------------
### Sample Request for Routes Near Location
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/methods/routes-for-location.md
This is an example of a GET request to the OneBusAway API to find routes near a specified latitude and longitude. Ensure you replace 'TEST' with your actual API key.
```http
http://api.pugetsound.onebusaway.org/api/where/routes-for-location.xml?key=TEST&lat=47.653435&lon=-122.305641
```
--------------------------------
### Custom Real-Time Data Source Example
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Real-Time-Data-Configuration-Guide
Implement this class to create a custom real-time data source. It uses dependency injection for the VehicleLocationListener and provides methods for starting, stopping, and processing real-time data.
```java
public MyRealTimeSource {
private VehicleLocationListener _listener
@Autowired
public void setVehicleLocationListener(VehicleLocationListener listener) {
_listener = listener;
}
@PostConstruct
public void start() {
// Span a thread that periodically poll your data-source, or some other method of receiving data
}
@PreDestroy {
public void stop() {
// Shut-down any threads you started
}
public void processRealTimeData(...) {
VehicleLocationRecord record = createRercordFromRealTimeData(...);
_listener.handleVehicleLocationRecord(record);
}
}
```
--------------------------------
### JSONP Callback Response Example
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/index.md
Example of a JSON response wrapped with a callback function name.
```javascript
some_function_name({"key":value,...})
```
--------------------------------
### Access OneBusAway Help Documentation
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/onebusaway-quickstart/onebusaway-quickstart-bootstrap/src/main/resources/org/onebusaway/quickstart/bootstrap/usage.txt
Commands to display available options for the build and webapp phases.
```bash
% java -jar onebusaway-quickstart.war -build -help
```
```bash
% java -jar onebusaway-quickstart.war -webapp -help
```
--------------------------------
### Run OneBusAway Quick-Start GUI
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/GTFS-realtime-Quick-Start
Use this command to launch the OneBusAway quick-start GUI, especially if you need to pass additional Java options like memory allocation or server optimization.
```bash
java -Xmx1G -server -jar onebusaway-quickstart-assembly.war
```
--------------------------------
### Configure HSQLDB Data Source (Java/XML)
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Webapp-Configuration-Guide
Sets up an HSQLDB data source for user profiles and other data. This is suitable for development and testing due to its ease of setup. For production, consider a more robust database.
```xml
```
--------------------------------
### Deploy OneBusAway Web Applications to Tomcat
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Home
Use this script to set up a Tomcat instance, copy the necessary WAR files for the transit data federation, API, and enterprise applications, and start the Tomcat server.
```bash
cd ~/tomcat
mkdir app
cd app
unzip ../apache-tomcat-8.5.75.zip
cd apache-tomcat-8.5.75/webapps
cp ~/src/onebusaway-application-modules/onebusaway-transit-data-federation-webapp/target/onebusaway-transit-data-federation-webapp.war ./
cp ~/src/onebusaway-application-modules/onebusaway-api-webapp/target/onebusaway-api-webapp.war ./
cp ~/src/onebusaway-application-modules/onebusaway-enterprise-acta-webapp/target/onebusaway-enterprise-acta-webapp.war ROOT.war
cd ../bin
chmod 755 catalina.sh
./catalina.sh run
```
--------------------------------
### Example Trip Element
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/elements/trip.md
This is an example of the <trip/> XML element. The fields closely match the GTFS spec for trips.txt. The id, routeId, and serviceId fields are mandatory.
```xml
1_125403991_44LOCALDowntown via University District1_114-115-WEEK1_200440061
```
--------------------------------
### Build and Run OneBusAway via Command-Line
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/onebusaway-quickstart/onebusaway-quickstart-bootstrap/src/main/resources/org/onebusaway/quickstart/bootstrap/usage.txt
Commands to build a transit data bundle from a GTFS file and subsequently start the web application.
```bash
% java -Xmx1G -server -jar onebusaway-quickstart.war -build path/to/your/gtfs.zip path/to/your/bundle
```
```bash
% java -Xmx1G -server -jar onebusaway-quickstart.war -webapp path/to/your/bundle
```
--------------------------------
### Arrivals and Departures for Stop API Response Example
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/GTFS-realtime-Quick-Start
An example XML response from the OneBusAway REST API for arrivals and departures at a specific transit stop. This data includes real-time information and stop details.
```xml
1330945364170
OK
BART_POWLPowell St. BART37.7849710021-122.4070122850BART_POWLBART_12BART_060NorthboundNorthbound0BART_12BART_BSA_9442213308991762181330899176218trueSCHEDULEDMAINTENANCEBARTBay Area Rapid Transitsignificant_delaysSignificant DelaysSignificant delays are expected on BART.http://www.bart.gov/alertsBART
```
--------------------------------
### Execute the Bundle Builder via Command Line
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Transit-Data-Bundle-Guide
Run the builder jar file to process transit data. Increase memory allocation with -Xmx if processing large networks.
```bash
java -jar onebusaway-transit-data-federation-builder.jar ...
```
--------------------------------
### Get Trip Details by ID (HTTP Request)
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/methods/trip.md
Construct an HTTP GET request to retrieve details for a specific trip. The trip ID is embedded directly in the URL. Ensure you include your API key.
```http
http://api.pugetsound.onebusaway.org/api/where/trip/1_12540399.xml?key=TEST
```
```http
http://api.pugetsound.onebusaway.org/api/where/trip/[ID GOES HERE].xml
```
--------------------------------
### Create MySQL Databases
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Linux-Hints-and-Tips
SQL commands to initialize databases for OneBusAway components.
```sql
user@ubuntu:~src$ mysql -u root
mysql> create database onebusaway_xwiki_prod;
mysql> create database onebusaway_users;
mysql> quit;
```
--------------------------------
### Show Help Command
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/onebusaway-api-key-cli/README.md
Displays general help information for the CLI tool.
```bash
java -jar onebusaway-api-key-cli-2.7.1-withAllDependencies.jar help
```
--------------------------------
### GET /api/where/current-time
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/methods/current-time.md
Retrieves the current system time from the server.
```APIDOC
## GET /api/where/current-time
### Description
Retrieve the current system time.
### Method
GET
### Endpoint
/api/where/current-time.xml
### Parameters
#### Query Parameters
- **key** (string) - Required - API access key
### Request Example
http://api.pugetsound.onebusaway.org/api/where/current-time.xml?key=TEST
### Response
#### Success Response (200)
- **time** (long) - current system time as milliseconds since the Unix epoch
- **readableTime** (string) - current system time in ISO 8601 format
#### Response Example
2200OK1270614730908
```
--------------------------------
### List All API Keys
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/onebusaway-api-key-cli/README.md
Lists all existing API keys in the database. This command requires the path to the data-sources.xml configuration file.
```bash
java -jar onebusaway-api-key-cli-2.7.1-withAllDependencies.jar list \
--config /path/to/data-sources.xml
```
--------------------------------
### WelcomeTemplate Action Mappings
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/onebusaway-phone
Configures user key presses to next actions within the WelcomeTemplate.
```java
addAction("1", "/stop/index");
addAction("2", "/find_your_stop");
addAction("3", "/bookmarks/index");
addAction("4", "/bookmarks/manage");
addAction("5", "/most_recent");
addAction("6", "/search/index");
```
--------------------------------
### GET /api/where/search/stop.json
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/search/stop.md
Searches for stops matching the provided input string.
```APIDOC
## GET /api/where/search/stop.json
### Description
Search for a stop based on its name.
### Method
GET
### Endpoint
/api/where/search/stop.json
### Parameters
#### Query Parameters
- **input** (string) - Required - The string to search for.
- **maxCount** (integer) - Optional - The max number of results to return. Defaults to 20.
### Request Example
http://api.pugetsound.onebusaway.org/api/where/search/stop.json?input=crystal&key=TEST
### Response
#### Success Response (200)
- **code** (integer) - Status code
- **currentTime** (long) - Current server time
- **data** (object) - Contains the search results list and metadata
#### Response Example
{
"code": 200,
"currentTime": 1674233149269,
"data": {
"limitExceeded": false,
"list": [
{
"code": "2001084",
"direction": "SE",
"id": "1_12968",
"lat": 39.147039,
"locationType": 0,
"lon": -77.009724,
"name": "NEW HAMPSHIRE AVE + CRYSTAL SPRING DR",
"parent": "",
"routeIds": ["1_Z2"],
"wheelchairBoarding": "UNKNOWN"
}
],
"outOfRange": false,
"references": {}
},
"text": "OK",
"version": 2
}
```
--------------------------------
### GET /api/where/search/route.json
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/search/route.md
Searches for routes matching the provided input string.
```APIDOC
## GET /api/where/search/route.json
### Description
Search for a route based on its name.
### Method
GET
### Endpoint
/api/where/search/route.json
### Parameters
#### Query Parameters
- **input** (string) - Required - The string to search for.
- **maxCount** (integer) - Optional - The max number of results to return. Defaults to 20.
### Request Example
http://api.pugetsound.onebusaway.org/api/where/search/route.json?input=crystal&key=TEST
### Response
#### Success Response (200)
- **code** (integer) - Status code
- **currentTime** (long) - Current timestamp
- **data** (object) - Contains the search results list and references
#### Response Example
{
"code": 200,
"currentTime": 1674233501267,
"data": {
"limitExceeded": false,
"list": [
{
"agencyId": "1",
"color": "727d84",
"description": "",
"id": "1_DC1",
"longName": "CRYSTAL CITY-L'ENFANT PL SHUTTLE",
"shortName": "DC1",
"textColor": "000000",
"type": 3,
"url": ""
}
],
"outOfRange": false,
"references": {}
},
"text": "OK",
"version": 2
}
```
--------------------------------
### Build Transit Data Bundle with Command-Line
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Developer-Guide
Use this command to build a transit data bundle from the command line. Ensure you have the `onebusaway-transit-data-federation-builder.jar` and a GTFS zip file.
```bash
java -jar /path/to/onebusaway-transit-data-federation-builder.jar org.onebusaway.transit_data_federation.bundle.FederatedTransitDataBundleCreatorMain /path/to/your/GTFS.zip /path/to/your/transit_data_bundle
```
--------------------------------
### GET /api/where/cancel_alarm/{id}
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/methods/cancel-alarm.md
Cancels a registered alarm by its unique ID.
```APIDOC
## GET /api/where/cancel_alarm/{id}
### Description
Cancels a registered alarm. The alarm ID is obtained from the register-alarm-for-arrival-and-departure-at-stop API method.
### Method
GET
### Endpoint
/api/where/cancel_alarm/{id}.xml
### Parameters
#### Path Parameters
- **id** (string) - Required - The unique identifier of the alarm to be cancelled.
### Response
#### Success Response (200)
- **version** (integer) - API version
- **code** (integer) - Status code
- **text** (string) - Status message
- **currentTime** (long) - Current server time
#### Response Example
2200OK1270614730908
```
--------------------------------
### Build and Deploy with Docker
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/README.md
Commands for building the project, managing artifacts, and deploying resources using the provided Docker environment.
```sh
docker compose up builder
# Now, open another window or tab and continue running commands:
# acquaint yourself with the make options
bin/make --help
# build the project
bin/make
# now you have built all of the OBA artifacts, which can be found in the `/root/.m2/repository` directory.
# enter the docker container and look around
bin/shell
ls /root/.m2/repository # this runs inside the docker container
# exit the docker container
exit
# Build a data bundle, which will power the OBA server:
bin/build_bundle
# Finally, copy all of the built WAR resources into /usr/local/tomcat
bin/copy_and_relaunch
```
--------------------------------
### GET /api/metric/schedule/agency/total
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/OneBusAway-Watchdog
Retrieves the count of agencies loaded in the current bundle.
```APIDOC
## GET /api/metric/schedule/agency/total
### Description
Retrieves the count of agencies loaded in the current bundle.
### Method
GET
### Endpoint
/api/metric/schedule/agency/total
### Response
#### Success Response (200)
- **metricValue** (integer) - Count of agencies loaded in current bundle.
```
--------------------------------
### Set Up MySQL Database for OneBusAway
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/Home
Create a new database named 'onebusaway' using the MySQL client. This database is required for OneBusAway modules to store data.
```bash
mysql -u root -P
mysql> create database onebusaway;
mysql> \q
```
--------------------------------
### Search for a stop API request
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/search/stop.md
Example URL for searching stops by name.
```http
http://api.pugetsound.onebusaway.org/api/where/search/stop.json?input=crystal&key=TEST
```
--------------------------------
### GET /api/where/schedule-for-route/{id}
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/methods/schedule-for-route.md
Retrieves the full schedule for a route on a particular day.
```APIDOC
## GET /api/where/schedule-for-route/{id}
### Description
Retrieve the full schedule for a route on a particular day. The response mimics a traditional schedule-table format.
### Method
GET
### Endpoint
/api/where/schedule-for-route/{id}.xml
### Parameters
#### Path Parameters
- **id** (string) - Required - The route ID to request the schedule for.
#### Query Parameters
- **key** (string) - Required - API authentication key.
- **date** (string) - Optional - The date for which you want to request a schedule in YYYY-MM-DD format. Defaults to the current date.
### Response
#### Success Response (200)
- **routeId** (string) - The route being looked into.
- **scheduleDate** (long) - The date of service in milliseconds since the Unix epoch.
- **serviceIds** (array) - The Service Ids which contain that route and are live on the specified date.
- **stopTripGroupings** (array) - Concentrated schedule information including directionId, tripHeadsign, stopIds, and tripIds.
#### Response Example
220097_91611810000000
### Error Handling
- **404**: Returned if the route ID in the request is not found.
- **510**: Returned if the route has no schedules for the day requested.
```
--------------------------------
### Configure Database Data Source
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/onebusaway-sms-webapp
Sets up an in-process HSQLDB data source for application components.
```xml
```
--------------------------------
### Create API Key with All Options
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/onebusaway-api-key-cli/README.md
Creates a new API key with a custom key value, full contact details, and a specified minimum API request interval. Requires the configuration file path.
```bash
java -jar onebusaway-api-key-cli-2.7.1-withAllDependencies.jar create \
--config /path/to/data-sources.xml \
--key my-custom-api-key \
--name "Jane Developer" \
--company "Transit Agency" \
--email developer@example.com \
--details "Mobile app integration - approved 2024-01" \
--minApiReqInt 50
```
--------------------------------
### GET /api/where/report-problem-with-stop/{stopId}
Source: https://github.com/onebusaway/onebusaway-application-modules/blob/main/src/site/markdown/api/where/methods/report-problem-with-stop.md
Submit a problem report for a specific transit stop.
```APIDOC
## GET /api/where/report-problem-with-stop/{stopId}
### Description
Submit a user-generated problem report for a particular stop. These reports feed into the problem reporting admin interface to assist transit agency staff.
### Method
GET
### Endpoint
/api/where/report-problem-with-stop/{stopId}.xml
### Parameters
#### Path Parameters
- **stopId** (string) - Required - The unique identifier for the stop, encoded directly in the URL.
#### Query Parameters
- **key** (string) - Required - API authentication key.
- **code** (string) - Optional - The nature of the problem (e.g., stop_name_wrong, stop_number_wrong, stop_location_wrong, route_or_trip_missing, other).
- **userComment** (string) - Optional - Additional comment text describing the problem.
- **userLat** (float) - Optional - The reporting user's current latitude.
- **userLon** (float) - Optional - The reporting user's current longitude.
- **userLocationAccuracy** (float) - Optional - The reporting user's location accuracy in meters.
### Request Example
http://api.pugetsound.onebusaway.org/api/where/report-problem-with-stop/1_75403.xml?key=TEST&code=stop_name_wrong
### Response
#### Success Response (200)
- **version** (integer) - API version.
- **code** (integer) - Status code.
- **currentTime** (long) - Timestamp of the request.
- **text** (string) - Status message.
#### Response Example
22001318879898047OK
```
--------------------------------
### Build OneBusAway Transit Bundle
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/OneBusAway-Quickstart-Guide
Use this command to build the transit bundle from GTFS data. Ensure you have Java installed and the onebusaway-quickstart-assembly JAR file.
```bash
java -Xmx1G -server -jar onebusaway-quickstart-assembly-1.1.19-api-webapp.war -build path/to/gtfs.zip path/to/created-transit-bundle
```
--------------------------------
### GET /api/metric/schedule/agency/id-list
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/OneBusAway-Watchdog
Retrieves an array of agency IDs currently configured in the bundle.
```APIDOC
## GET /api/metric/schedule/agency/id-list
### Description
Retrieves an array of agency IDs currently configured in the bundle.
### Method
GET
### Endpoint
/api/metric/schedule/agency/id-list
### Response
#### Success Response (200)
- **metricValue** (array) - Array of agencyIds loaded from current bundle.
```
--------------------------------
### Action Mapping for /welcome
Source: https://github.com/onebusaway/onebusaway-application-modules/wiki/onebusaway-phone
Defines the mapping for the /welcome action path to the DefaultAction and its associated result.
```xml
/welcome
```