{ "swagger": "2.0", "info": { "version": "v3", "title": "PTV Timetable API - Version 3", "description": "The PTV Timetable API provides direct access to Public Transport Victoria’s public transport timetable data.\r\n\r\nThe API returns scheduled timetable, route and stop data for all metropolitan and regional train, tram and bus services in Victoria, including Night Network(Night Train and Night Tram data are included in metropolitan train and tram services data, respectively, whereas Night Bus is a separate route type).\r\n\r\nThe API also returns real-time data for metropolitan train, tram and bus services (where this data is made available to PTV), as well as disruption information, stop facility information, and access to myki ticket outlet data.\r\n\r\nThis Swagger is for Version 3 of the PTV Timetable API. By using this documentation you agree to comply with the licence and terms of service.\r\n\r\nTrain timetable data is updated daily, while the remaining data is updated weekly, taking into account any planned timetable changes (for example, due to holidays or planned disruptions). The PTV timetable API is the same API used by PTV for its apps. To access the most up to date data PTV has (including real-time data) you must use the API dynamically.\r\n\r\nYou can access the PTV Timetable API through a HTTP or HTTPS interface, as follows:\r\n\r\n base URL / version number / API name / query string\r\nThe base URL is either:\r\n * http://timetableapi.ptv.vic.gov.au\r\nor\r\n * https://timetableapi.ptv.vic.gov.au\r\n\r\nThe Swagger JSON file is available at http://timetableapi.ptv.vic.gov.au/swagger/docs/v3\r\n\r\nFrequently asked questions are available on the PTV website at http://ptv.vic.gov.au/apifaq\r\n\r\nLinks to the following information are also provided on the PTV website at http://ptv.vic.gov.au/ptv-timetable-api/\r\n* How to register for an API key and calculate a signature\r\n* PTV Timetable API V2 to V3 Migration Guide\r\n* Documentation for Version 2 of the PTV Timetable API\r\n* PTV Timetable API Data Quality Statement\r\n\r\nAll information about how to use the API is in this documentation. PTV cannot provide technical support for the API.\r\n\r\nCredits: This page has been based on Steve Bennett's http://opentransportdata.org/, used with permission.\r\n", "termsOfService": "See http://ptv.vic.gov.au/ptv-timetable-api/", "contact": { "name": "Public Transport Victoria", "url": "http://ptv.vic.gov.au/digital" }, "license": { "name": "Creative Commons Attribution 4.0 International", "url": "https://creativecommons.org/licenses/by/4.0/" } }, "host": "timetableapi.ptv.vic.gov.au", "schemes": [ "http", "https" ], "paths": { "/v3/departures/route_type/{route_type}/stop/{stop_id}": { "get": { "tags": [ "Departures" ], "summary": "View departures for all routes from a stop", "operationId": "Departures_GetForStop", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_type", "in": "path", "description": "Number identifying transport mode; values returned via RouteTypes API", "required": true, "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, { "name": "stop_id", "in": "path", "description": "Identifier of stop; values returned by Stops API", "required": true, "type": "integer", "format": "int32" }, { "name": "platform_numbers", "in": "query", "description": "Filter by platform number at stop", "required": false, "type": "array", "items": { "type": "integer", "format": "int32" }, "collectionFormat": "multi" }, { "name": "direction_id", "in": "query", "description": "Filter by identifier of direction of travel; values returned by Directions API - /v3/directions/route/{route_id}", "required": false, "type": "integer", "format": "int32" }, { "name": "look_backwards", "in": "query", "description": "Indicates if filtering runs (and their departures) to those that arrive at destination before date_utc (default = false). Requires max_results > 0.", "required": false, "type": "boolean" }, { "name": "gtfs", "in": "query", "description": "Indicates that stop_id parameter will accept \"GTFS stop_id\" data", "required": false, "type": "boolean" }, { "name": "date_utc", "in": "query", "description": "Filter by the date and time of the request (ISO 8601 UTC format) (default = current date and time)", "required": false, "type": "string", "format": "date-time" }, { "name": "max_results", "in": "query", "description": "Maximum number of results returned", "required": false, "type": "integer", "format": "int32" }, { "name": "include_cancelled", "in": "query", "description": "Indicates if cancelled services (if they exist) are returned (default = false) - metropolitan train only", "required": false, "type": "boolean" }, { "name": "expand", "in": "query", "description": "List objects to be returned in full (i.e. expanded) - options include: all, stop, route, run, direction, disruption", "required": false, "type": "array", "items": { "type": "string", "enum": [ "All", "Stop", "Route", "Run", "Direction", "Disruption" ] }, "collectionFormat": "multi" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "Service departures from the specified stop for all routes of the specified route type; departures are timetabled and real-time (if applicable).", "schema": { "$ref": "#/definitions/V3.DeparturesResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/departures/route_type/{route_type}/stop/{stop_id}/route/{route_id}": { "get": { "tags": [ "Departures" ], "summary": "View departures for a specific route from a stop", "operationId": "Departures_GetForStopAndRoute", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_type", "in": "path", "description": "Number identifying transport mode; values returned via RouteTypes API", "required": true, "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, { "name": "stop_id", "in": "path", "description": "Identifier of stop; values returned by Stops API", "required": true, "type": "integer", "format": "int32" }, { "name": "route_id", "in": "path", "description": "Identifier of route; values returned by Routes API - v3/routes", "required": true, "type": "string" }, { "name": "direction_id", "in": "query", "description": "Filter by identifier of direction of travel; values returned by Directions API - /v3/directions/route/{route_id}", "required": false, "type": "integer", "format": "int32" }, { "name": "look_backwards", "in": "query", "description": "Indicates if filtering runs (and their departures) to those that arrive at destination before date_utc (default = false). Requires max_results > 0.", "required": false, "type": "boolean" }, { "name": "gtfs", "in": "query", "description": "Indicates that stop_id parameter will accept \"GTFS stop_id\" data", "required": false, "type": "boolean" }, { "name": "date_utc", "in": "query", "description": "Filter by the date and time of the request (ISO 8601 UTC format) (default = current date and time)", "required": false, "type": "string", "format": "date-time" }, { "name": "max_results", "in": "query", "description": "Maximum number of results returned", "required": false, "type": "integer", "format": "int32" }, { "name": "include_cancelled", "in": "query", "description": "Indicates if cancelled services (if they exist) are returned (default = false) - metropolitan train only", "required": false, "type": "boolean" }, { "name": "expand", "in": "query", "description": "List objects to be returned in full (i.e. expanded) - options include: all, stop, route, run, direction, disruption", "required": false, "type": "array", "items": { "type": "string", "enum": [ "All", "Stop", "Route", "Run", "Direction", "Disruption" ] }, "collectionFormat": "multi" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "Service departures from the specified stop for the specified route (and route type); departures are timetabled and real-time (if applicable).", "schema": { "$ref": "#/definitions/V3.DeparturesResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/directions/route/{route_id}": { "get": { "tags": [ "Directions" ], "summary": "View directions that a route travels in", "operationId": "Directions_ForRoute", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_id", "in": "path", "description": "Identifier of route; values returned by Routes API - v3/routes", "required": true, "type": "integer", "format": "int32" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "The directions that a specified route travels in.", "schema": { "$ref": "#/definitions/V3.DirectionsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/directions/{direction_id}": { "get": { "tags": [ "Directions" ], "summary": "View all routes for a direction of travel", "operationId": "Directions_ForDirection", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "direction_id", "in": "path", "description": "Identifier of direction of travel; values returned by Directions API - /v3/directions/route/{route_id}", "required": true, "type": "integer", "format": "int32" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All routes that travel in the specified direction.", "schema": { "$ref": "#/definitions/V3.DirectionsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/directions/{direction_id}/route_type/{route_type}": { "get": { "tags": [ "Directions" ], "summary": "View all routes of a particular type for a direction of travel", "operationId": "Directions_ForDirectionAndType", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "direction_id", "in": "path", "description": "Identifier of direction of travel; values returned by Directions API - /v3/directions/route/{route_id}", "required": true, "type": "integer", "format": "int32" }, { "name": "route_type", "in": "path", "description": "Number identifying transport mode; values returned via RouteTypes API", "required": true, "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All routes of the specified route type that travel in the specified direction.", "schema": { "$ref": "#/definitions/V3.DirectionsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/disruptions": { "get": { "tags": [ "Disruptions" ], "summary": "View all disruptions for all route types", "operationId": "Disruptions_GetAllDisruptions", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_types", "in": "query", "description": "Filter by route_type; values returned via RouteTypes API", "required": false, "type": "array", "items": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, "collectionFormat": "multi" }, { "name": "disruption_modes", "in": "query", "description": "Filter by disruption_mode; values returned via v3/disruptions/modes API", "required": false, "type": "array", "items": { "type": "integer", "format": "int32", "enum": [ 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 100 ] }, "collectionFormat": "multi" }, { "name": "disruption_status", "in": "query", "description": "Filter by status of disruption", "required": false, "type": "string", "enum": [ "current", "planned" ] }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All disruption information for all route types.", "schema": { "$ref": "#/definitions/V3.DisruptionsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/disruptions/route/{route_id}": { "get": { "tags": [ "Disruptions" ], "summary": "View all disruptions for a particular route", "operationId": "Disruptions_GetDisruptionsByRoute", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_id", "in": "path", "description": "Identifier of route; values returned by Routes API - v3/routes", "required": true, "type": "integer", "format": "int32" }, { "name": "disruption_status", "in": "query", "description": "Filter by status of disruption", "required": false, "type": "string", "enum": [ "current", "planned" ] }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All disruption information (if any exists) for the specified route.", "schema": { "$ref": "#/definitions/V3.DisruptionsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/disruptions/route/{route_id}/stop/{stop_id}": { "get": { "tags": [ "Disruptions" ], "summary": "View all disruptions for a particular route and stop", "operationId": "Disruptions_GetDisruptionsByRouteAndStop", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_id", "in": "path", "description": "Identifier of route; values returned by Routes API - v3/routes", "required": true, "type": "integer", "format": "int32" }, { "name": "stop_id", "in": "path", "description": "Identifier of stop; values returned by Stops API - v3/stops", "required": true, "type": "integer", "format": "int32" }, { "name": "disruption_status", "in": "query", "description": "Filter by status of disruption", "required": false, "type": "string", "enum": [ "current", "planned" ] }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All disruption information (if any exists) for the specified route and stop.", "schema": { "$ref": "#/definitions/V3.DisruptionsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/disruptions/stop/{stop_id}": { "get": { "tags": [ "Disruptions" ], "summary": "View all disruptions for a particular stop", "operationId": "Disruptions_GetDisruptionsByStop", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "stop_id", "in": "path", "description": "Identifier of stop; values returned by Stops API - v3/stops", "required": true, "type": "integer", "format": "int32" }, { "name": "disruption_status", "in": "query", "description": "Filter by status of disruption", "required": false, "type": "string", "enum": [ "current", "planned" ] }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All disruption information (if any exists) for the specified stop.", "schema": { "$ref": "#/definitions/V3.DisruptionsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/disruptions/{disruption_id}": { "get": { "tags": [ "Disruptions" ], "summary": "View a specific disruption", "operationId": "Disruptions_GetDisruptionById", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "disruption_id", "in": "path", "description": "Identifier of disruption; values returned by Disruptions API - /v3/disruptions OR /v3/disruptions/route/{route_id}", "required": true, "type": "integer", "format": "int64" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "Disruption information for the specified disruption ID.", "schema": { "$ref": "#/definitions/V3.DisruptionResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/disruptions/modes": { "get": { "tags": [ "Disruptions" ], "summary": "Get all disruption modes", "operationId": "Disruptions_GetDisruptionModes", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "Disruption specific modes", "schema": { "$ref": "#/definitions/V3.DisruptionModesResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/outlets": { "get": { "tags": [ "Outlets" ], "summary": "List all ticket outlets", "operationId": "Outlets_GetAllOutlets", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "max_results", "in": "query", "description": "Maximum number of results returned (default = 30)", "required": false, "type": "integer", "format": "int32" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "Ticket outlets.", "schema": { "$ref": "#/definitions/V3.OutletResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/outlets/location/{latitude},{longitude}": { "get": { "tags": [ "Outlets" ], "summary": "List ticket outlets near a specific location", "operationId": "Outlets_GetOutletsByGeolocation", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "latitude", "in": "path", "description": "Geographic coordinate of latitude", "required": true, "type": "number", "format": "float" }, { "name": "longitude", "in": "path", "description": "Geographic coordinate of longitude", "required": true, "type": "number", "format": "float" }, { "name": "max_distance", "in": "query", "description": "Filter by maximum distance (in metres) from location specified via latitude and longitude parameters (default = 300)", "required": false, "type": "number", "format": "double" }, { "name": "max_results", "in": "query", "description": "Maximum number of results returned (default = 30)", "required": false, "type": "integer", "format": "int32" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "Ticket outlets near the specified location.", "schema": { "$ref": "#/definitions/V3.OutletGeolocationResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/pattern/run/{run_id}/route_type/{route_type}": { "get": { "tags": [ "Patterns" ], "summary": "View the stopping pattern for a specific trip/service run", "operationId": "Patterns_GetPatternByRun", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "run_id", "in": "path", "description": "Identifier of a trip/service run; values returned by Runs API - /v3/route/{route_id} and Departures API", "required": true, "type": "integer", "format": "int32" }, { "name": "route_type", "in": "path", "description": "Number identifying transport mode; values returned via RouteTypes API", "required": true, "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, { "name": "expand", "in": "query", "description": "Objects to be returned in full (i.e. expanded) - options include: all, stop, route, run, direction, disruption. By default disruptions are expanded.", "required": true, "type": "array", "items": { "type": "string", "enum": [ "All", "Stop", "Route", "Run", "Direction", "Disruption" ] }, "collectionFormat": "multi" }, { "name": "stop_id", "in": "query", "description": "Filter by stop_id; values returned by Stops API", "required": false, "type": "integer", "format": "int32" }, { "name": "date_utc", "in": "query", "description": "Filter by the date and time of the request (ISO 8601 UTC format)", "required": false, "type": "string", "format": "date-time" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "The stopping pattern of the specified trip/service run and route type.", "schema": { "$ref": "#/definitions/V3.StoppingPattern" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/routes": { "get": { "tags": [ "Routes" ], "summary": "View route names and numbers for all routes", "operationId": "Routes_OneOrMoreRoutes", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_types", "in": "query", "description": "Filter by route_type; values returned via RouteTypes API", "required": false, "type": "array", "items": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, "collectionFormat": "multi" }, { "name": "route_name", "in": "query", "description": "Filter by name of route (accepts partial route name matches)", "required": false, "type": "string" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "Route names and numbers for all routes of all route types.", "schema": { "$ref": "#/definitions/V3.RoutesResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/routes/{route_id}": { "get": { "tags": [ "Routes" ], "summary": "View route name and number for specific route ID", "operationId": "Routes_RouteFromId", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_id", "in": "path", "description": "Identifier of route; values returned by Departures, Directions and Disruptions APIs", "required": true, "type": "integer", "format": "int32" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "The route name and number for the specified route ID.", "schema": { "$ref": "#/definitions/V3.RouteResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/route_types": { "get": { "tags": [ "RouteTypes" ], "summary": "View all route types and their names", "operationId": "RouteTypes_GetRouteTypes", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All route types (i.e. identifiers of transport modes) and their names.", "schema": { "$ref": "#/definitions/V3.RouteTypesResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/runs/route/{route_id}": { "get": { "tags": [ "Runs" ], "summary": "View all trip/service runs for a specific route ID", "operationId": "Runs_ForRoute", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_id", "in": "path", "description": "Identifier of route; values returned by Routes API - v3/routes.", "required": true, "type": "integer", "format": "int32" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All trip/service run details for the specified route ID.", "schema": { "$ref": "#/definitions/V3.RunsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/runs/route/{route_id}/route_type/{route_type}": { "get": { "tags": [ "Runs" ], "summary": "View all trip/service runs for a specific route ID and route type", "operationId": "Runs_ForRouteAndRouteType", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_id", "in": "path", "description": "Identifier of route; values returned by Routes API - v3/routes.", "required": true, "type": "integer", "format": "int32" }, { "name": "route_type", "in": "path", "description": "Number identifying transport mode; values returned via RouteTypes API", "required": true, "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All trip/service run details for the specified route ID and route type.", "schema": { "$ref": "#/definitions/V3.RunsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/runs/{run_id}": { "get": { "tags": [ "Runs" ], "summary": "View all trip/service runs for a specific run ID", "operationId": "Runs_ForRun", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "run_id", "in": "path", "description": "Identifier of a trip/service run; values returned by Runs API - /v3/route/{route_id} and Departures API", "required": true, "type": "integer", "format": "int32" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All trip/service run details for the specified run ID.", "schema": { "$ref": "#/definitions/V3.RunsResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/runs/{run_id}/route_type/{route_type}": { "get": { "tags": [ "Runs" ], "summary": "View the trip/service run for a specific run ID and route type", "operationId": "Runs_ForRunAndRouteType", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "run_id", "in": "path", "description": "Identifier of a trip/service run; values returned by Runs API - /v3/route/{route_id} and Departures API", "required": true, "type": "integer", "format": "int32" }, { "name": "route_type", "in": "path", "description": "Number identifying transport mode; values returned via RouteTypes API", "required": true, "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "The trip/service run details for the run ID and route type specified.", "schema": { "$ref": "#/definitions/V3.RunResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/search/{search_term}": { "get": { "tags": [ "Search" ], "summary": "View stops, routes and myki ticket outlets that match the search term", "operationId": "Search_Search", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "search_term", "in": "path", "description": "Search text (note: if search text is numeric and/or less than 3 characters, the API will only return routes)", "required": true, "type": "string" }, { "name": "route_types", "in": "query", "description": "Filter by route_type; values returned via RouteTypes API (note: stops and routes are ordered by route_types specified)", "required": false, "type": "array", "items": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, "collectionFormat": "multi" }, { "name": "latitude", "in": "query", "description": "Filter by geographic coordinate of latitude", "required": false, "type": "number", "format": "float" }, { "name": "longitude", "in": "query", "description": "Filter by geographic coordinate of longitude", "required": false, "type": "number", "format": "float" }, { "name": "max_distance", "in": "query", "description": "Filter by maximum distance (in metres) from location specified via latitude and longitude parameters", "required": false, "type": "number", "format": "float" }, { "name": "include_addresses", "in": "query", "description": "Placeholder for future development; currently unavailable", "required": false, "type": "boolean" }, { "name": "include_outlets", "in": "query", "description": "Indicates if outlets will be returned in response (default = true)", "required": false, "type": "boolean" }, { "name": "match_stop_by_suburb", "in": "query", "description": "Indicates whether to find stops by suburbs in the search term (default = true)", "required": false, "type": "boolean" }, { "name": "match_route_by_suburb", "in": "query", "description": "Indicates whether to find routes by suburbs in the search term (default = true)", "required": false, "type": "boolean" }, { "name": "match_stop_by_gtfs_stop_id", "in": "query", "description": "Indicates whether to search for stops according to a metlink stop ID (default = false)", "required": false, "type": "boolean" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "Stops, routes and myki ticket outlets that contain the search term (note: stops and routes are ordered by route_type by default).", "schema": { "$ref": "#/definitions/V3.SearchResult" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/stops/{stop_id}/route_type/{route_type}": { "get": { "tags": [ "Stops" ], "summary": "View facilities at a specific stop (Metro and V/Line stations only)", "operationId": "Stops_StopDetails", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "stop_id", "in": "path", "description": "Identifier of stop; values returned by Stops API", "required": true, "type": "integer", "format": "int32" }, { "name": "route_type", "in": "path", "description": "Number identifying transport mode; values returned via RouteTypes API", "required": true, "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, { "name": "stop_location", "in": "query", "description": "Indicates if stop location information will be returned (default = false)", "required": false, "type": "boolean" }, { "name": "stop_amenities", "in": "query", "description": "Indicates if stop amenity information will be returned (default = false)", "required": false, "type": "boolean" }, { "name": "stop_accessibility", "in": "query", "description": "Indicates if stop accessibility information will be returned (default = false)", "required": false, "type": "boolean" }, { "name": "stop_contact", "in": "query", "description": "Indicates if stop contact information will be returned (default = false)", "required": false, "type": "boolean" }, { "name": "stop_ticket", "in": "query", "description": "Indicates if stop ticket information will be returned (default = false)", "required": false, "type": "boolean" }, { "name": "gtfs", "in": "query", "description": "Incdicates whether the stop_id is a GTFS ID or not", "required": false, "type": "boolean" }, { "name": "stop_staffing", "in": "query", "description": "Indicates if stop staffing information will be returned (default = false)", "required": false, "type": "boolean" }, { "name": "stop_disruptions", "in": "query", "description": "Indicates if stop disruption information will be returned (default = false)", "required": false, "type": "boolean" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "Stop location, amenity and accessibility facility information for the specified stop (metropolitan and V/Line stations only).", "schema": { "$ref": "#/definitions/V3.StopResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/stops/route/{route_id}/route_type/{route_type}": { "get": { "tags": [ "Stops" ], "summary": "View all stops on a specific route", "operationId": "Stops_StopsForRoute", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "route_id", "in": "path", "description": "Identifier of route; values returned by Routes API - v3/routes", "required": true, "type": "integer", "format": "int32" }, { "name": "route_type", "in": "path", "description": "Number identifying transport mode; values returned via RouteTypes API", "required": true, "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, { "name": "direction_id", "in": "query", "description": "An optional direction; values returned by Directions API. When this is set, stop sequence information is returned in the response.", "required": false, "type": "integer", "format": "int32" }, { "name": "stop_disruptions", "in": "query", "description": "Indicates if stop disruption information will be returned (default = false)", "required": false, "type": "boolean" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All stops on the specified route.", "schema": { "$ref": "#/definitions/V3.StopsOnRouteResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } }, "/v3/stops/location/{latitude},{longitude}": { "get": { "tags": [ "Stops" ], "summary": "View all stops near a specific location", "operationId": "Stops_StopsByGeolocation", "consumes": [], "produces": [ "application/json", "text/json", "text/html" ], "parameters": [ { "name": "latitude", "in": "path", "description": "Geographic coordinate of latitude", "required": true, "type": "number", "format": "float" }, { "name": "longitude", "in": "path", "description": "Geographic coordinate of longitude", "required": true, "type": "number", "format": "float" }, { "name": "route_types", "in": "query", "description": "Filter by route_type; values returned via RouteTypes API", "required": false, "type": "array", "items": { "type": "integer", "format": "int32", "enum": [ 0, 1, 2, 3, 4 ] }, "collectionFormat": "multi" }, { "name": "max_results", "in": "query", "description": "Maximum number of results returned (default = 30)", "required": false, "type": "integer", "format": "int32" }, { "name": "max_distance", "in": "query", "description": "Filter by maximum distance (in metres) from location specified via latitude and longitude parameters (default = 300)", "required": false, "type": "number", "format": "double" }, { "name": "stop_disruptions", "in": "query", "description": "Indicates if stop disruption information will be returned (default = false)", "required": false, "type": "boolean" }, { "name": "token", "in": "query", "description": "Please ignore", "required": false, "type": "string" }, { "name": "devid", "in": "query", "description": "Your developer id", "required": false, "type": "string" }, { "name": "signature", "in": "query", "description": "Authentication signature for request", "required": false, "type": "string" } ], "responses": { "200": { "description": "All stops near the specified location.", "schema": { "$ref": "#/definitions/V3.StopsByDistanceResponse" } }, "400": { "description": "Invalid Request", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } }, "403": { "description": "Access Denied", "schema": { "$ref": "#/definitions/V3.ErrorResponse" } } }, "deprecated": false } } }, "definitions": { "V3.DeparturesBroadParameters": { "type": "object", "properties": { "platform_numbers": { "description": "Filter by platform number at stop", "type": "array", "items": { "format": "int32", "type": "integer" } }, "direction_id": { "format": "int32", "description": "Filter by identifier of direction of travel; values returned by Directions API - /v3/directions/route/{route_id}", "type": "integer" }, "look_backwards": { "description": "Indicates if filtering runs (and their departures) to those that arrive at destination before date_utc (default = false). Requires max_results > 0.", "type": "boolean" }, "gtfs": { "description": "Indicates that stop_id parameter will accept \"GTFS stop_id\" data", "type": "boolean" }, "date_utc": { "format": "date-time", "description": "Filter by the date and time of the request (ISO 8601 UTC format) (default = current date and time)", "type": "string" }, "max_results": { "format": "int32", "description": "Maximum number of results returned", "type": "integer" }, "include_cancelled": { "description": "Indicates if cancelled services (if they exist) are returned (default = false) - metropolitan train only", "type": "boolean" }, "expand": { "description": "List objects to be returned in full (i.e. expanded) - options include: all, stop, route, run, direction, disruption", "type": "array", "items": { "enum": [ "All", "Stop", "Route", "Run", "Direction", "Disruption" ], "type": "string" } } } }, "V2.Object": { "type": "object", "properties": {} }, "V3.DeparturesResponse": { "type": "object", "properties": { "departures": { "description": "Timetabled and real-time service departures", "type": "array", "items": { "$ref": "#/definitions/V3.Departure" } }, "stops": { "description": "A train station, tram stop, bus stop, regional coach stop or Night Bus stop", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.ResultStop" } }, "routes": { "description": "Train lines, tram routes, bus routes, regional coach routes, Night Bus routes", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Route" } }, "runs": { "description": "Individual trips/services of a route", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Run" } }, "directions": { "description": "Directions of travel of route", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Direction" } }, "disruptions": { "description": "Disruption information applicable to relevant routes or stops", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Disruption" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.Departure": { "type": "object", "properties": { "stop_id": { "format": "int32", "description": "Stop identifier", "type": "integer" }, "route_id": { "format": "int32", "description": "Route identifier", "type": "integer" }, "run_id": { "format": "int32", "description": "Trip/service run identifier", "type": "integer" }, "direction_id": { "format": "int32", "description": "Direction of travel identifier", "type": "integer" }, "disruption_ids": { "description": "Disruption information identifier(s)", "type": "array", "items": { "format": "int64", "type": "integer" } }, "scheduled_departure_utc": { "format": "date-time", "description": "Scheduled (i.e. timetabled) departure time and date in ISO 8601 UTC format", "type": "string" }, "estimated_departure_utc": { "format": "date-time", "description": "Real-time estimate of departure time and date in ISO 8601 UTC format", "type": "string" }, "at_platform": { "description": "Indicates if the metropolitan train service is at the platform at the time of query; returns false for other modes", "type": "boolean" }, "platform_number": { "description": "Platform number at stop (metropolitan train only; returns null for other modes)", "type": "string" }, "flags": { "description": "Flag indicating special condition for run (e.g. RR Reservations Required, GC Guaranteed Connection, DOO Drop Off Only, PUO Pick Up Only, MO Mondays only, TU Tuesdays only, WE Wednesdays only, TH Thursdays only, FR Fridays only, SS School days only; ignore E flag)", "type": "string" }, "departure_sequence": { "format": "int32", "description": "Chronological sequence of the departure for the run on the route. Order ascendingly by this field to get chronological order (earliest first) of departures with the same route_id and run_id.", "type": "integer" } } }, "V3.ResultStop": { "type": "object", "properties": { "stop_distance": { "format": "float", "description": "Distance of stop from input location (in metres); returns 0 if no location is input", "type": "number" }, "stop_suburb": { "description": "suburb of stop", "type": "string" }, "stop_name": { "description": "Name of stop", "type": "string" }, "stop_id": { "format": "int32", "description": "Stop identifier", "type": "integer" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "stop_latitude": { "format": "float", "description": "Geographic coordinate of latitude at stop", "type": "number" }, "stop_longitude": { "format": "float", "description": "Geographic coordinate of longitude at stop", "type": "number" }, "stop_sequence": { "format": "int32", "description": "Sequence of the stop on the route/run; return 0 when route_id or run_id not specified. Order ascendingly by this field (when non zero) to get physical order (earliest first) of stops on the route_id/run_id.", "type": "integer" } } }, "V3.Route": { "type": "object", "properties": { "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "route_id": { "format": "int32", "description": "Route identifier", "type": "integer" }, "route_name": { "description": "Name of route", "type": "string" }, "route_number": { "description": "Route number presented to public (nb. not route_id)", "type": "string" }, "route_gtfs_id": { "description": "GTFS Identifer of the route", "type": "string" } } }, "V3.Run": { "type": "object", "properties": { "run_id": { "format": "int32", "description": "Trip/service run identifier", "type": "integer" }, "route_id": { "format": "int32", "description": "Route identifier", "type": "integer" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "final_stop_id": { "format": "int32", "description": "stop_id of final stop of run", "type": "integer" }, "destination_name": { "description": "Name of destination of run", "type": "string" }, "status": { "description": "Status of metropolitan train run; returns \"scheduled\" for other modes", "type": "string" }, "direction_id": { "format": "int32", "description": "Direction of travel identifier", "type": "integer" }, "run_sequence": { "format": "int32", "description": "Chronological sequence of the trip/service run on the route in direction. Order ascendingly by this field to get chronological order (earliest first) of runs with the same route_id and direction_id.", "type": "integer" }, "express_stop_count": { "format": "int32", "description": "The number of remaining skipped/express stations for the run/service from a stop", "type": "integer" }, "vehicle_position": { "$ref": "#/definitions/V3.VehiclePosition", "description": "Position of the trip/service run. Only available for some bus runs. May be null." }, "vehicle_descriptor": { "$ref": "#/definitions/V3.VehicleDescriptor", "description": "Descriptor of the trip/service run. Only available for some runs. May be null." } } }, "V3.Direction": { "type": "object", "properties": { "direction_id": { "format": "int32", "description": "Direction of travel identifier", "type": "integer" }, "direction_name": { "description": "Name of direction of travel", "type": "string" }, "route_id": { "format": "int32", "description": "Route identifier", "type": "integer" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" } } }, "V3.Disruption": { "type": "object", "properties": { "disruption_id": { "format": "int64", "description": "Disruption information identifier", "type": "integer" }, "title": { "description": "Headline title summarising disruption information", "type": "string" }, "url": { "description": "URL of relevant article on PTV website", "type": "string" }, "description": { "description": "Description of the disruption", "type": "string" }, "disruption_status": { "description": "Status of the disruption (e.g. \"Planned\", \"Current\")", "type": "string" }, "disruption_type": { "description": "Type of disruption", "type": "string" }, "published_on": { "format": "date-time", "description": "Date and time disruption information is published on PTV website, in ISO 8601 UTC format", "type": "string" }, "last_updated": { "format": "date-time", "description": "Date and time disruption information was last updated by PTV, in ISO 8601 UTC format", "type": "string" }, "from_date": { "format": "date-time", "description": "Date and time at which disruption begins, in ISO 8601 UTC format", "type": "string" }, "to_date": { "format": "date-time", "description": "Date and time at which disruption ends, in ISO 8601 UTC format (returns null if unknown)", "type": "string" }, "routes": { "description": "Route relevant to a disruption (if applicable)", "type": "array", "items": { "$ref": "#/definitions/V3.DisruptionRoute" } }, "stops": { "description": "Stop relevant to a disruption (if applicable)", "type": "array", "items": { "$ref": "#/definitions/V3.DisruptionStop" } }, "colour": { "type": "string" }, "display_on_board": { "type": "boolean" }, "display_status": { "type": "boolean" } } }, "V3.Status": { "type": "object", "properties": { "version": { "description": "API Version number", "type": "string" }, "health": { "format": "int32", "description": "API system health status (0=offline, 1=online)", "enum": [ 0, 1 ], "type": "integer" } } }, "V3.VehiclePosition": { "type": "object", "properties": { "latitude": { "format": "float", "description": "Geographic coordinate of latitude of the vehicle when known. May be null.\r\n Only available for some bus runs.", "type": "number" }, "longitude": { "format": "float", "description": "Geographic coordinate of longitude of the vehicle when known. \r\n Only available for some bus runs.", "type": "number" }, "bearing": { "format": "float", "description": "Compass bearing of the vehicle when known, clockwise from True North, i.e., 0 is North and 90 is East. May be null.\r\n Only available for some bus runs.", "type": "number" }, "supplier": { "description": "Supplier of vehicle position data.", "type": "string", "readOnly": true } } }, "V3.VehicleDescriptor": { "type": "object", "properties": { "operator": { "description": "Operator name of the vehicle such as \"Metro Trains Melbourne\", \"Yarra Trams\", \"Ventura Bus Line\", \"CDC\" or \"Sita Bus Lines\" . May be null/empty.\r\n Only available for train, tram, v/line and some bus runs.", "type": "string" }, "id": { "description": "Operator identifier of the vehicle such as \"26094\". May be null/empty. Only available for some tram and bus runs.", "type": "string" }, "low_floor": { "description": "Indicator if vehicle has a low floor. May be null. Only available for some tram runs.", "type": "boolean" }, "air_conditioned": { "description": "Indicator if vehicle is air conditioned. May be null. Only available for some tram runs.", "type": "boolean" }, "description": { "description": "Vehicle description such as \"6 Car Comeng\", \"6 Car Xtrapolis\", \"3 Car Comeng\", \"6 Car Siemens\", \"3 Car Siemens\". May be null/empty.\r\n Only available for some metropolitan train runs.", "type": "string" }, "supplier": { "description": "Supplier of vehicle descriptor data.", "type": "string", "readOnly": true } } }, "V3.DisruptionRoute": { "type": "object", "properties": { "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "route_id": { "format": "int32", "description": "Route identifier", "type": "integer" }, "route_name": { "description": "Name of route", "type": "string" }, "route_number": { "description": "Route number presented to public (i.e. not route_id)", "type": "string" }, "route_gtfs_id": { "description": "GTFS Identifer of the route", "type": "string" }, "direction": { "$ref": "#/definitions/V3.DisruptionDirection", "description": "Direction of travel relevant to a disruption (if applicable)" } } }, "V3.DisruptionStop": { "type": "object", "properties": { "stop_id": { "format": "int32", "description": "Stop identifier", "type": "integer" }, "stop_name": { "description": "Name of stop", "type": "string" } } }, "V3.DisruptionDirection": { "type": "object", "properties": { "route_direction_id": { "format": "int32", "description": "Route and direction of travel combination identifier", "type": "integer" }, "direction_id": { "format": "int32", "description": "Direction of travel identifier", "type": "integer" }, "direction_name": { "description": "Name of direction of travel", "type": "string" }, "service_time": { "description": "Time of service to which disruption applies, in 24 hour clock format (HH:MM:SS) AEDT/AEST; returns null if disruption applies to multiple (or no) services", "type": "string" } } }, "V3.ErrorResponse": { "description": "An error response", "type": "object", "properties": { "message": { "description": "Error message", "type": "string" }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.DeparturesSpecificParameters": { "type": "object", "properties": { "direction_id": { "format": "int32", "description": "Filter by identifier of direction of travel; values returned by Directions API - /v3/directions/route/{route_id}", "type": "integer" }, "look_backwards": { "description": "Indicates if filtering runs (and their departures) to those that arrive at destination before date_utc (default = false). Requires max_results > 0.", "type": "boolean" }, "gtfs": { "description": "Indicates that stop_id parameter will accept \"GTFS stop_id\" data", "type": "boolean" }, "date_utc": { "format": "date-time", "description": "Filter by the date and time of the request (ISO 8601 UTC format) (default = current date and time)", "type": "string" }, "max_results": { "format": "int32", "description": "Maximum number of results returned", "type": "integer" }, "include_cancelled": { "description": "Indicates if cancelled services (if they exist) are returned (default = false) - metropolitan train only", "type": "boolean" }, "expand": { "description": "List objects to be returned in full (i.e. expanded) - options include: all, stop, route, run, direction, disruption", "type": "array", "items": { "enum": [ "All", "Stop", "Route", "Run", "Direction", "Disruption" ], "type": "string" } } } }, "V3.RouteDeparturesSpecificParameters": { "type": "object", "properties": { "train_scheduled_timetables": { "description": "When set to true, all timetable information returned by Chronos will be sourced from the Parser timetables,\r\n while when set to false (default state), the real-time departure information and operational time from\r\n Metro CIS will continue to be returned where available.", "type": "boolean" }, "look_backwards": { "description": "Indicates if filtering runs (and their departures) to those that arrive at destination before date_utc (default = false). Requires max_results > 0.", "type": "boolean" }, "date_utc": { "format": "date-time", "description": "Filter by the date and time of the request (ISO 8601 UTC format) (default = current date and time)", "type": "string" }, "max_results": { "format": "int32", "description": "Maximum number of results returned", "type": "integer" }, "include_cancelled": { "description": "Indicates if cancelled services (if they exist) are returned (default = false) - metropolitan train only", "type": "boolean" }, "expand": { "description": "List objects to be returned in full (i.e. expanded) - options include: all, stop, route, run, direction, disruption", "type": "array", "items": { "enum": [ "All", "Stop", "Route", "Run", "Direction", "Disruption" ], "type": "string" } } } }, "V3.BulkDeparturesRequest": { "required": [ "requests" ], "type": "object", "properties": { "requests": { "description": "Collection of departure requests", "type": "array", "items": { "$ref": "#/definitions/V3.StopDepartureRequest" } }, "date_utc": { "format": "date-time", "description": "Filter by the date and time of the request (ISO 8601 UTC format) (default = current date and time)", "type": "string" }, "look_backwards": { "description": "Indicates if filtering runs (and their departures) to those that arrive at destination before date_utc (default = false). Requires max_results > 0.", "type": "boolean" }, "include_cancelled": { "description": "Indicates if cancelled services (if they exist) are returned (default = false) - metropolitan train only", "type": "boolean" }, "expand": { "description": "List objects to be returned in full (i.e. expanded) - options include: all, stop, route, run, direction, disruption", "type": "array", "items": { "enum": [ "All", "Stop", "Route", "Run", "Direction", "Disruption" ], "type": "string" } } } }, "V3.StopDepartureRequest": { "required": [ "route_directions" ], "type": "object", "properties": { "route_type": { "format": "int32", "description": "Number identifying transport mode; values returned via RouteTypes API", "enum": [ 0, 1, 2, 3, 4 ], "type": "integer" }, "stop_id": { "format": "int32", "description": "Identifier of stop; values returned by Stops API", "maximum": 2147483647, "minimum": 0, "type": "integer" }, "max_results": { "format": "int32", "description": "Maximum number of results returned", "maximum": 2147483647, "minimum": 0, "type": "integer" }, "gtfs": { "description": "Indicates that stop_id parameter will accept \"GTFS stop_id\" data and route_directions[x].route_id parameters will accept route_gtfs_id data", "type": "boolean" }, "route_directions": { "description": "The route directions to find departures for at this stop.", "type": "array", "items": { "$ref": "#/definitions/V3.StopDepartureRequestRouteDirection" } } } }, "V3.StopDepartureRequestRouteDirection": { "required": [ "direction_name" ], "type": "object", "properties": { "route_id": { "description": "Identifier of route; values returned by Routes API - v3/routes", "type": "string" }, "direction_id": { "format": "int32", "description": "Direction of travel identifier; values returned by Directions API - v3/directions", "maximum": 2147483647, "minimum": 0, "type": "integer" }, "direction_name": { "description": "Name of direction of travel; values returned by Directions API - v3/directions", "type": "string" } } }, "V3.BulkDeparturesResponse": { "type": "object", "properties": { "responses": { "description": "Contains departures for the requested stop and route(s). It includes details as to the route_direction and whether it is still valid.", "type": "array", "items": { "$ref": "#/definitions/V3.BulkDeparturesUpdateResponse" } }, "stops": { "description": "A train station, tram stop, bus stop, regional coach stop or Night Bus stop", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.BulkDeparturesStopResponse" } }, "routes": { "description": "Train lines, tram routes, bus routes, regional coach routes, Night Bus routes", "type": "array", "items": { "$ref": "#/definitions/V3.Route" } }, "runs": { "description": "Individual trips/services of a route", "type": "array", "items": { "$ref": "#/definitions/V3.Run" } }, "directions": { "description": "Directions of travel of route", "type": "array", "items": { "$ref": "#/definitions/V3.Direction" } }, "disruptions": { "description": "Disruption information applicable to relevant routes or stops", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Disruption" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.BulkDeparturesUpdateResponse": { "type": "object", "properties": { "departures": { "description": "Timetabled and real-time service departures", "type": "array", "items": { "$ref": "#/definitions/V3.Departure" } }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "stop_id": { "format": "int32", "description": "Stop identifier", "type": "integer" }, "requested_route_direction": { "$ref": "#/definitions/V3.BulkDeparturesRouteDirectionResponse", "description": "The route direction that these departures are for. Will be one of the requested route directions" }, "route_direction_status": { "format": "int32", "description": "The status of the route direction (changed | unchanged).\r\n If changed, requests should change the requested_route_direction for the route_direction supplied.", "enum": [ 0, 1 ], "type": "integer" }, "route_direction": { "$ref": "#/definitions/V3.BulkDeparturesRouteDirectionResponse", "description": "The route direction found matching the requested_route_direction" } } }, "V3.BulkDeparturesStopResponse": { "type": "object", "properties": { "stop_name": { "description": "Name of stop", "type": "string" }, "stop_id": { "format": "int32", "description": "Stop identifier", "type": "integer" }, "stop_latitude": { "format": "float", "description": "Geographic coordinate of latitude at stop", "type": "number" }, "stop_longitude": { "format": "float", "description": "Geographic coordinate of longitude at stop", "type": "number" }, "stop_suburb": { "description": "suburb of stop", "type": "string" } } }, "V3.BulkDeparturesRouteDirectionResponse": { "type": "object", "properties": { "route_id": { "description": "Route identifier", "type": "string" }, "direction_id": { "format": "int32", "description": "Direction of travel identifier", "type": "integer" }, "direction_name": { "description": "Name of direction of travel", "type": "string" } } }, "V3.DirectionsResponse": { "type": "object", "properties": { "directions": { "description": "Directions of travel of route", "type": "array", "items": { "$ref": "#/definitions/V3.DirectionWithDescription" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.DirectionWithDescription": { "type": "object", "properties": { "route_direction_description": { "type": "string" }, "direction_id": { "format": "int32", "description": "Direction of travel identifier", "type": "integer" }, "direction_name": { "description": "Name of direction of travel", "type": "string" }, "route_id": { "format": "int32", "description": "Route identifier", "type": "integer" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" } } }, "V3.DisruptionsResponse": { "type": "object", "properties": { "disruptions": { "$ref": "#/definitions/V3.Disruptions", "description": "Disruption information applicable to relevant routes or stops" }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.Disruptions": { "type": "object", "properties": { "general": { "description": "Subset of disruption information applicable to multiple route_types", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "metro_train": { "description": "Subset of disruption information applicable to metropolitan train", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "metro_tram": { "description": "Subset of disruption information applicable to metropolitan tram", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "metro_bus": { "description": "Subset of disruption information applicable to metropolitan bus", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "regional_train": { "description": "Subset of disruption information applicable to V/Line train", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "regional_coach": { "description": "Subset of disruption information applicable to V/Line coach", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "regional_bus": { "description": "Subset of disruption information applicable to regional bus", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "school_bus": { "description": "Subset of disruption information applicable to school bus", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "telebus": { "description": "Subset of disruption information applicable to telebus services", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "night_bus": { "description": "Subset of disruption information applicable to night bus", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "ferry": { "description": "Subset of disruption information applicable to ferry", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "interstate_train": { "description": "Subset of disruption information applicable to interstate train", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "skybus": { "description": "Subset of disruption information applicable to skybus", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "taxi": { "description": "Subset of disruption information applicable to taxi", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } } } }, "V3.DisruptionResponse": { "type": "object", "properties": { "disruption": { "$ref": "#/definitions/V3.Disruption", "description": "Disruption information applicable to relevant routes or stops" }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.StopBase": { "type": "object", "properties": { "stop_id": { "format": "int32", "description": "Stop identifier", "type": "integer" }, "stop_name": { "description": "Name of stop", "type": "string" } } }, "V3.DisruptionModesResponse": { "type": "object", "properties": { "disruption_modes": { "description": "Transport mode identifiers", "type": "array", "items": { "$ref": "#/definitions/V3.DisruptionMode" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.DisruptionMode": { "type": "object", "properties": { "disruption_mode_name": { "description": "Name of disruption mode", "type": "string" }, "disruption_mode": { "format": "int32", "description": "Disruption mode identifier", "type": "integer" } } }, "V3.OutletParameters": { "type": "object", "properties": { "max_results": { "format": "int32", "description": "Maximum number of results returned (default = 30)", "type": "integer" } } }, "V3.OutletResponse": { "type": "object", "properties": { "outlets": { "description": "myki ticket outlets", "type": "array", "items": { "$ref": "#/definitions/V3.Outlet" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.Outlet": { "type": "object", "properties": { "outlet_slid_spid": { "description": "The SLID / SPID", "type": "string" }, "outlet_name": { "description": "The location name of the outlet", "type": "string" }, "outlet_business": { "description": "The business name of the outlet", "type": "string" }, "outlet_latitude": { "format": "float", "description": "Geographic coordinate of latitude at outlet", "type": "number" }, "outlet_longitude": { "format": "float", "description": "Geographic coordinate of longitude at outlet", "type": "number" }, "outlet_suburb": { "description": "The city/municipality the outlet is in", "type": "string" }, "outlet_postcode": { "format": "int32", "description": "The postcode for the outlet", "type": "integer" }, "outlet_business_hour_mon": { "description": "The business hours on Monday", "type": "string" }, "outlet_business_hour_tue": { "description": "The business hours on Tuesday", "type": "string" }, "outlet_business_hour_wed": { "description": "The business hours on Wednesday", "type": "string" }, "outlet_business_hour_thur": { "description": "The business hours on Thursday", "type": "string" }, "outlet_business_hour_fri": { "description": "The business hours on Friday", "type": "string" }, "outlet_business_hour_sat": { "description": "The business hours on Saturday", "type": "string" }, "outlet_business_hour_sun": { "description": "The business hours on Sunday", "type": "string" }, "outlet_notes": { "description": "Any additional notes for the outlet such as 'Buy pre-loaded myki cards only'. May be null/empty.", "type": "string" } } }, "V3.OutletGeolocationParameters": { "type": "object", "properties": { "max_distance": { "format": "double", "description": "Filter by maximum distance (in metres) from location specified via latitude and longitude parameters (default = 300)", "type": "number" }, "max_results": { "format": "int32", "description": "Maximum number of results returned (default = 30)", "type": "integer" } } }, "V3.OutletGeolocationResponse": { "type": "object", "properties": { "outlets": { "description": "myki ticket outlets", "type": "array", "items": { "$ref": "#/definitions/V3.OutletGeolocation" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.OutletGeolocation": { "type": "object", "properties": { "outlet_distance": { "format": "float", "description": "Distance of outlet from input location (in metres); returns 0 if no location is input", "type": "number" }, "outlet_slid_spid": { "description": "The SLID / SPID", "type": "string" }, "outlet_name": { "description": "The location name of the outlet", "type": "string" }, "outlet_business": { "description": "The business name of the outlet", "type": "string" }, "outlet_latitude": { "format": "float", "description": "Geographic coordinate of latitude at outlet", "type": "number" }, "outlet_longitude": { "format": "float", "description": "Geographic coordinate of longitude at outlet", "type": "number" }, "outlet_suburb": { "description": "The city/municipality the outlet is in", "type": "string" }, "outlet_postcode": { "format": "int32", "description": "The postcode for the outlet", "type": "integer" }, "outlet_business_hour_mon": { "description": "The business hours on Monday", "type": "string" }, "outlet_business_hour_tue": { "description": "The business hours on Tuesday", "type": "string" }, "outlet_business_hour_wed": { "description": "The business hours on Wednesday", "type": "string" }, "outlet_business_hour_thur": { "description": "The business hours on Thursday", "type": "string" }, "outlet_business_hour_fri": { "description": "The business hours on Friday", "type": "string" }, "outlet_business_hour_sat": { "description": "The business hours on Saturday", "type": "string" }, "outlet_business_hour_sun": { "description": "The business hours on Sunday", "type": "string" }, "outlet_notes": { "description": "Any additional notes for the outlet such as 'Buy pre-loaded myki cards only'. May be null/empty.", "type": "string" } } }, "V3.StoppingPattern": { "type": "object", "properties": { "disruptions": { "description": "Disruption information applicable to relevant routes or stops", "type": "array", "items": { "$ref": "#/definitions/V3.Disruption" } }, "departures": { "description": "Timetabled and real-time service departures", "type": "array", "items": { "$ref": "#/definitions/V3.Departure" } }, "stops": { "description": "A train station, tram stop, bus stop, regional coach stop or Night Bus stop", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.ResultStop" } }, "routes": { "description": "Train lines, tram routes, bus routes, regional coach routes, Night Bus routes", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Route" } }, "runs": { "description": "Individual trips/services of a route", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Run" } }, "directions": { "description": "Directions of travel of route", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Direction" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.RoutesResponse": { "type": "object", "properties": { "routes": { "description": "Train lines, tram routes, bus routes, regional coach routes, Night Bus routes", "type": "array", "items": { "$ref": "#/definitions/V3.RouteWithStatus" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.RouteResponse": { "type": "object", "properties": { "route": { "$ref": "#/definitions/V3.RouteWithStatus", "description": "Train lines, tram routes, bus routes, regional coach routes, Night Bus routes" }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.RouteWithStatus": { "type": "object", "properties": { "route_service_status": { "$ref": "#/definitions/V3.RouteServiceStatus", "description": "Service status for the route (indicates disruptions)" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "route_id": { "format": "int32", "description": "Route identifier", "type": "integer" }, "route_name": { "description": "Name of route", "type": "string" }, "route_number": { "description": "Route number presented to public (nb. not route_id)", "type": "string" }, "route_gtfs_id": { "description": "GTFS Identifer of the route", "type": "string" } } }, "V3.RouteServiceStatus": { "type": "object", "properties": { "description": { "type": "string" }, "timestamp": { "format": "date-time", "type": "string" } } }, "V3.RouteTypesResponse": { "type": "object", "properties": { "route_types": { "description": "Transport mode identifiers", "type": "array", "items": { "$ref": "#/definitions/V3.RouteType" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.RouteType": { "type": "object", "properties": { "route_type_name": { "description": "Name of transport mode", "type": "string" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" } } }, "V3.RunsResponse": { "type": "object", "properties": { "runs": { "description": "Individual trips/services of a route", "type": "array", "items": { "$ref": "#/definitions/V3.Run" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.RunResponse": { "type": "object", "properties": { "run": { "$ref": "#/definitions/V3.Run", "description": "Individual trip/service of a route" }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.SearchParameters": { "type": "object", "properties": { "route_types": { "description": "Filter by route_type; values returned via RouteTypes API (note: stops and routes are ordered by route_types specified)", "type": "array", "items": { "format": "int32", "enum": [ 0, 1, 2, 3, 4 ], "type": "integer" } }, "latitude": { "format": "float", "description": "Filter by geographic coordinate of latitude", "type": "number" }, "longitude": { "format": "float", "description": "Filter by geographic coordinate of longitude", "type": "number" }, "max_distance": { "format": "float", "description": "Filter by maximum distance (in metres) from location specified via latitude and longitude parameters", "type": "number" }, "include_addresses": { "description": "Placeholder for future development; currently unavailable", "type": "boolean" }, "include_outlets": { "description": "Indicates if outlets will be returned in response (default = true)", "type": "boolean" }, "match_stop_by_suburb": { "description": "Indicates whether to find stops by suburbs in the search term (default = true)", "type": "boolean" }, "match_route_by_suburb": { "description": "Indicates whether to find routes by suburbs in the search term (default = true)", "type": "boolean" }, "match_stop_by_gtfs_stop_id": { "description": "Indicates whether to search for stops according to a metlink stop ID (default = false)", "type": "boolean" } } }, "V3.SearchResult": { "type": "object", "properties": { "stops": { "description": "Train stations, tram stops, bus stops, regional coach stops or Night Bus stops", "type": "array", "items": { "$ref": "#/definitions/V3.ResultStop" } }, "routes": { "description": "Train lines, tram routes, bus routes, regional coach routes, Night Bus routes", "type": "array", "items": { "$ref": "#/definitions/V3.ResultRoute" } }, "outlets": { "description": "myki ticket outlets", "type": "array", "items": { "$ref": "#/definitions/V3.ResultOutlet" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.ResultRoute": { "type": "object", "properties": { "route_name": { "description": "Name of route", "type": "string" }, "route_number": { "description": "Route number presented to public (nb. not route_id)", "type": "string" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "route_id": { "format": "int32", "description": "Route identifier", "type": "integer" }, "route_gtfs_id": { "description": "GTFS Identifer of the route", "type": "string" }, "route_service_status": { "$ref": "#/definitions/V3.RouteServiceStatus", "description": "Service status for the route (indicates disruptions)" } } }, "V3.ResultOutlet": { "type": "object", "properties": { "outlet_distance": { "format": "float", "description": "Distance of outlet from input location (in metres); returns 0 if no location is input", "type": "number" }, "outlet_slid_spid": { "description": "The SLID / SPID", "type": "string" }, "outlet_name": { "description": "The location name of the outlet", "type": "string" }, "outlet_business": { "description": "The business name of the outlet", "type": "string" }, "outlet_latitude": { "format": "float", "description": "Geographic coordinate of latitude at outlet", "type": "number" }, "outlet_longitude": { "format": "float", "description": "Geographic coordinate of longitude at outlet", "type": "number" }, "outlet_suburb": { "description": "The city/municipality the outlet is in", "type": "string" }, "outlet_postcode": { "format": "int32", "description": "The postcode for the outlet", "type": "integer" }, "outlet_business_hour_mon": { "description": "The business hours on Monday", "type": "string" }, "outlet_business_hour_tue": { "description": "The business hours on Tuesday", "type": "string" }, "outlet_business_hour_wed": { "description": "The business hours on Wednesday", "type": "string" }, "outlet_business_hour_thur": { "description": "The business hours on Thursday", "type": "string" }, "outlet_business_hour_fri": { "description": "The business hours on Friday", "type": "string" }, "outlet_business_hour_sat": { "description": "The business hours on Saturday", "type": "string" }, "outlet_business_hour_sun": { "description": "The business hours on Sunday", "type": "string" }, "outlet_notes": { "description": "Any additional notes for the outlet such as 'Buy pre-loaded myki cards only'. May be null/empty.", "type": "string" } } }, "V3.StopResponse": { "type": "object", "properties": { "stop": { "$ref": "#/definitions/V3.StopDetails", "description": "A metropolitan or V/Line train station" }, "disruptions": { "description": "Disruption information applicable to relevant routes or stops", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Disruption" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.StopDetails": { "type": "object", "properties": { "disruption_ids": { "description": "Disruption information identifier(s)", "type": "array", "items": { "format": "int64", "type": "integer" } }, "station_type": { "description": "Type of metropolitan train station (i.e. \"Premium\", \"Host\" or \"Unstaffed\" station); returns null for V/Line train", "type": "string" }, "station_description": { "description": "The definition applicable to the station_type; returns null for V/Line train", "type": "string" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "stop_location": { "$ref": "#/definitions/V3.StopLocation", "description": "Location details of the stop" }, "stop_amenities": { "$ref": "#/definitions/V3.StopAmenityDetails", "description": "Amenity and facility details at the stop" }, "stop_accessibility": { "$ref": "#/definitions/V3.StopAccessibility", "description": "Facilities relating to the accessibility of the stop" }, "stop_staffing": { "$ref": "#/definitions/V3.StopStaffing", "description": "Staffing details for the stop" }, "stop_id": { "format": "int32", "description": "Stop identifier", "type": "integer" }, "stop_name": { "description": "Name of stop", "type": "string" } } }, "V3.StopLocation": { "type": "object", "properties": { "gps": { "$ref": "#/definitions/V3.StopGps", "description": "GPS coordinates of the stop" } } }, "V3.StopAmenityDetails": { "type": "object", "properties": { "toilet": { "description": "Indicates if there is a public toilet at or near the stop", "type": "boolean" }, "taxi_rank": { "description": "Indicates if there is a taxi rank at or near the stop", "type": "boolean" }, "car_parking": { "description": "The number of free car parking spots at the stop", "type": "string" }, "cctv": { "description": "Indicates if there are CCTV (i.e. closed circuit television) cameras at the stop", "type": "boolean" } } }, "V3.StopAccessibility": { "type": "object", "properties": { "lighting": { "description": "Indicates if there is lighting at the stop", "type": "boolean" }, "platform_number": { "format": "int32", "description": "Indicates the platform number for xivic information (Platform 0 indicates general stop facilities)", "type": "integer" }, "audio_customer_information": { "description": "Indicates if there is at least one audio customer information at the stop/platform", "type": "boolean" }, "escalator": { "description": "Indicates if there is at least one accessible escalator at the stop/platform that complies with the Disability Standards for Accessible Public Transport under the Disability Discrimination Act (1992)", "type": "boolean" }, "hearing_loop": { "description": "Indicates if there is a hearing loop facility at the stop/platform", "type": "boolean" }, "lift": { "description": "Indicates if there is an elevator at the stop/platform", "type": "boolean" }, "stairs": { "description": "Indicates if there are stairs available in the stop", "type": "boolean" }, "stop_accessible": { "description": "Indicates if the stop is accessible", "type": "boolean" }, "tactile_ground_surface_indicator": { "description": "Indicates if there are tactile tiles (also known as tactile ground surface indicators, or TGSIs) at the stop", "type": "boolean" }, "waiting_room": { "description": "Indicates if there is a general waiting area at the stop", "type": "boolean" }, "wheelchair": { "$ref": "#/definitions/V3.StopAccessibilityWheelchair", "description": "Facilities relating to the accessibility of the stop by wheelchair" } } }, "V3.StopStaffing": { "type": "object", "properties": { "fri_am_from": { "description": "Stop staffing hours", "type": "string" }, "fri_am_to": { "description": "Stop staffing hours", "type": "string" }, "fri_pm_from": { "description": "Stop staffing hours", "type": "string" }, "fri_pm_to": { "description": "Stop staffing hours", "type": "string" }, "mon_am_from": { "description": "Stop staffing hours", "type": "string" }, "mon_am_to": { "description": "Stop staffing hours", "type": "string" }, "mon_pm_from": { "description": "Stop staffing hours", "type": "string" }, "mon_pm_to": { "description": "Stop staffing hours", "type": "string" }, "ph_additional_text": { "description": "Stop staffing hours", "type": "string" }, "ph_from": { "description": "Stop staffing hours", "type": "string" }, "ph_to": { "description": "Stop staffing hours", "type": "string" }, "sat_am_from": { "description": "Stop staffing hours", "type": "string" }, "sat_am_to": { "description": "Stop staffing hours", "type": "string" }, "sat_pm_from": { "description": "Stop staffing hours", "type": "string" }, "sat_pm_to": { "description": "Stop staffing hours", "type": "string" }, "sun_am_from": { "description": "Stop staffing hours", "type": "string" }, "sun_am_to": { "description": "Stop staffing hours", "type": "string" }, "sun_pm_from": { "description": "Stop staffing hours", "type": "string" }, "sun_pm_to": { "description": "Stop staffing hours", "type": "string" }, "thu_am_from": { "description": "Stop staffing hours", "type": "string" }, "thu_am_to": { "description": "Stop staffing hours", "type": "string" }, "thu_pm_from": { "description": "Stop staffing hours", "type": "string" }, "thu_pm_to": { "description": "Stop staffing hours", "type": "string" }, "tue_am_from": { "description": "Stop staffing hours", "type": "string" }, "tue_am_to": { "description": "Stop staffing hours", "type": "string" }, "tue_pm_from": { "description": "Stop staffing hours", "type": "string" }, "tue_pm_to": { "description": "Stop staffing hours", "type": "string" }, "wed_am_from": { "description": "Stop staffing hours", "type": "string" }, "wed_am_to": { "description": "Stop staffing hours", "type": "string" }, "wed_pm_from": { "description": "Stop staffing hours", "type": "string" }, "wed_pm_To": { "description": "Stop staffing hours", "type": "string" } } }, "V3.StopGps": { "type": "object", "properties": { "latitude": { "format": "float", "description": "Geographic coordinate of latitude at stop", "type": "number" }, "longitude": { "format": "float", "description": "Geographic coordinate of longitude at stop", "type": "number" } } }, "V3.StopAccessibilityWheelchair": { "type": "object", "properties": { "accessible_ramp": { "type": "boolean" }, "parking": { "description": "Indicates if there is at least one accessible parking spot at the stop that complies with the Disability Standards for Accessible Public Transport under the Disability Discrimination Act (1992)", "type": "boolean" }, "telephone": { "description": "Indicates if there is at least one accessible telephone at the stop/platform that complies with the Disability Standards for Accessible Public Transport under the Disability Discrimination Act (1992)", "type": "boolean" }, "toilet": { "description": "Indicates if there is at least one accessible toilet at the stop/platform that complies with the Disability Standards for Accessible Public Transport under the Disability Discrimination Act (1992)", "type": "boolean" }, "low_ticket_counter": { "description": "Indicates if there is at least one low ticket counter at the stop that complies with the Disability Standards for Accessible Public Transport under the Disability Discrimination Act (1992)", "type": "boolean" }, "manouvering": { "description": "Indicates if there is a space for mobility device to board on or off a transport mode", "type": "boolean" }, "raised_platform": { "description": "Indicates if there is a raised platform to board a train", "type": "boolean" }, "ramp": { "description": "Indicates if there are ramps (<1:14) at the stop/platform", "type": "boolean" }, "secondary_path": { "description": "Indicates if there is a path beyond the stop which is accessible", "type": "boolean" }, "raised_platform_shelther": { "description": "Indicates if there is shelter near the raised platform", "type": "boolean" }, "steep_ramp": { "description": "Indicates if there are ramps (>1:14) at the stop/platform", "type": "boolean" } } }, "V3.StopsOnRouteResponse": { "type": "object", "properties": { "stops": { "description": "Train stations, tram stops, bus stops, regional coach stops or Night Bus stops", "type": "array", "items": { "$ref": "#/definitions/V3.StopOnRoute" } }, "disruptions": { "description": "Disruption information applicable to relevant routes or stops", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Disruption" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.StopOnRoute": { "type": "object", "properties": { "disruption_ids": { "description": "Disruption information identifier(s)", "type": "array", "items": { "format": "int64", "type": "integer" } }, "stop_suburb": { "description": "suburb of stop", "type": "string" }, "stop_name": { "description": "Name of stop", "type": "string" }, "stop_id": { "format": "int32", "description": "Stop identifier", "type": "integer" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "stop_latitude": { "format": "float", "description": "Geographic coordinate of latitude at stop", "type": "number" }, "stop_longitude": { "format": "float", "description": "Geographic coordinate of longitude at stop", "type": "number" }, "stop_sequence": { "format": "int32", "description": "Sequence of the stop on the route/run; return 0 when route_id or run_id not specified. Order ascendingly by this field (when non zero) to get physical order (earliest first) of stops on the route_id/run_id.", "type": "integer" } } }, "V3.StopsByDistanceResponse": { "type": "object", "properties": { "stops": { "description": "Train stations, tram stops, bus stops, regional coach stops or Night Bus stops", "type": "array", "items": { "$ref": "#/definitions/V3.StopGeosearch" } }, "disruptions": { "description": "Disruption information applicable to relevant routes or stops", "type": "object", "additionalProperties": { "$ref": "#/definitions/V3.Disruption" } }, "status": { "$ref": "#/definitions/V3.Status", "description": "API Status / Metadata" } } }, "V3.StopGeosearch": { "type": "object", "properties": { "disruption_ids": { "description": "Disruption information identifier(s)", "type": "array", "items": { "format": "int64", "type": "integer" } }, "stop_distance": { "format": "float", "description": "Distance of stop from input location (in metres); returns 0 if no location is input", "type": "number" }, "stop_suburb": { "description": "suburb of stop", "type": "string" }, "stop_name": { "description": "Name of stop", "type": "string" }, "stop_id": { "format": "int32", "description": "Stop identifier", "type": "integer" }, "route_type": { "format": "int32", "description": "Transport mode identifier", "type": "integer" }, "stop_latitude": { "format": "float", "description": "Geographic coordinate of latitude at stop", "type": "number" }, "stop_longitude": { "format": "float", "description": "Geographic coordinate of longitude at stop", "type": "number" }, "stop_sequence": { "format": "int32", "description": "Sequence of the stop on the route/run; return 0 when route_id or run_id not specified. Order ascendingly by this field (when non zero) to get physical order (earliest first) of stops on the route_id/run_id.", "type": "integer" } } } } }