StopLocation Data Type

A StopLocation describes a place where a vehicle can be boarded or alighted, which is not necessarily a marked stop, but can be of other shapes, such as a service area for flexible transit. StopLocations are referred to in stop times.

Abstract Type
Subtypes
AreaStop, GroupStop, RegularStop
Implemented Interfaces
LogInfo
Properties
name data type constraints description
id FeedScopedId   The ID for the StopLocation
geometry Geometry   The geometry of the stop.

For fixed-schedule stops this will return the same data as getCoordinate().

For flex stops this will return the geometries of the stop or group of stops.

lon number required
parentStation Station  
netexVehicleSubmode object required
wheelchairAccessibility Accessibility required
stationOrStopId FeedScopedId   Get the parent station id if such exists. Otherwise, return the stop id.
code string   Short text or a number that identifies the location for riders. These codes are often used in phone-based reservation systems to make it easier for riders to specify a particular location. The stop_code can be the same as id if it is public facing. This field should be left empty for locations without a code presented to riders.
timeZone string  
lat number required
platformCode string  
fareZones array of FareZone required
index number required This is the OTP internal synthetic key, used to reference a StopLocation inside OTP. This is used to optimize routing, we do not access the stop instance only keep the {code index}. The index will not change.

Do NOT expose this index in the APIs, it is not guaranteed to be the same across different OTP instances, use the {code id} for external references.

description I18NString  
gtfsVehicleType TransitMode  
name I18NString   Name of the StopLocation, if provided
partOfStation boolean required
coordinate WgsCoordinate required Representative location for the StopLocation. Can either be the actual location of the stop, or the centroid of an area or line.
url I18NString  
priority StopTransferPriority required
firstZoneAsString string   This is to ensure backwards compatibility with the REST API, which expects the GTFS zone_id which only permits one zone per stop.

Example

This data type is abstract. The example below may be incomplete. More accurate examples can be found in subtypes pages.
{
  "id" : {
    "feedId" : "...",
    "id" : "..."
  },
  "geometry" : {
    "envelope" : { },
    "length" : 12345.0,
    "geometryType" : "...",
    "boundary" : { },
    "rectangle" : true,
    "centroid" : {
      "simple" : true,
      "x" : 12345.0,
      "boundaryDimension" : 12345,
      "coordinateSequence" : { },
      "coordinate" : { },
      "geometryType" : "...",
      "y" : 12345.0,
      "empty" : true,
      "dimension" : 12345,
      "coordinates" : [ { }, { } ],
      "boundary" : { },
      "numPoints" : 12345,
      "envelope" : { },
      "length" : 12345.0,
      "rectangle" : true,
      "centroid" : { },
      "interiorPoint" : { },
      "factory" : { },
      "valid" : true,
      "precisionModel" : { },
      "envelopeInternal" : { },
      "area" : 12345.0,
      "userData" : { },
      "numGeometries" : 12345,
      "SRID" : 12345
    },
    "simple" : true,
    "interiorPoint" : {
      "simple" : true,
      "x" : 12345.0,
      "boundaryDimension" : 12345,
      "coordinateSequence" : { },
      "coordinate" : { },
      "geometryType" : "...",
      "y" : 12345.0,
      "empty" : true,
      "dimension" : 12345,
      "coordinates" : [ { }, { } ],
      "boundary" : { },
      "numPoints" : 12345,
      "envelope" : { },
      "length" : 12345.0,
      "rectangle" : true,
      "centroid" : { },
      "interiorPoint" : { },
      "factory" : { },
      "valid" : true,
      "precisionModel" : { },
      "envelopeInternal" : { },
      "area" : 12345.0,
      "userData" : { },
      "numGeometries" : 12345,
      "SRID" : 12345
    },
    "factory" : {
      "precisionModel" : { },
      "SRID" : 12345,
      "coordinateSequenceFactory" : { }
    },
    "valid" : true,
    "coordinate" : {
      "y" : 12345.0,
      "z" : 12345.0,
      "x" : 12345.0,
      "m" : 12345.0,
      "valid" : true
    },
    "precisionModel" : {
      "offsetX" : 12345.0,
      "scale" : 12345.0,
      "type" : { },
      "floating" : true,
      "offsetY" : 12345.0,
      "maximumSignificantDigits" : 12345
    },
    "envelopeInternal" : {
      "width" : 12345.0,
      "area" : 12345.0,
      "minX" : 12345.0,
      "diameter" : 12345.0,
      "null" : true,
      "height" : 12345.0,
      "maxX" : 12345.0,
      "minY" : 12345.0,
      "maxY" : 12345.0
    },
    "boundaryDimension" : 12345,
    "dimension" : 12345,
    "area" : 12345.0,
    "empty" : true,
    "userData" : { },
    "numGeometries" : 12345,
    "numPoints" : 12345,
    "SRID" : 12345,
    "coordinates" : [ {
      "y" : 12345.0,
      "z" : 12345.0,
      "x" : 12345.0,
      "m" : 12345.0,
      "valid" : true
    }, {
      "y" : 12345.0,
      "z" : 12345.0,
      "x" : 12345.0,
      "m" : 12345.0,
      "valid" : true
    } ]
  },
  "lon" : 12345.0,
  "parentStation" : {
    "name" : { },
    "childStops" : [ {
      "id" : { },
      "geometry" : { },
      "lon" : 12345.0,
      "parentStation" : { },
      "netexVehicleSubmode" : { },
      "wheelchairAccessibility" : "NO_INFORMATION",
      "stationOrStopId" : { },
      "code" : "...",
      "timeZone" : "...",
      "lat" : 12345.0,
      "platformCode" : "...",
      "fareZones" : [ { }, { } ],
      "index" : 12345,
      "description" : { },
      "gtfsVehicleType" : "GONDOLA",
      "name" : { },
      "partOfStation" : true,
      "coordinate" : { },
      "url" : { },
      "priority" : "RECOMMENDED",
      "firstZoneAsString" : "..."
    }, {
      "id" : { },
      "geometry" : { },
      "lon" : 12345.0,
      "parentStation" : { },
      "netexVehicleSubmode" : { },
      "wheelchairAccessibility" : "NO_INFORMATION",
      "stationOrStopId" : { },
      "code" : "...",
      "timeZone" : "...",
      "lat" : 12345.0,
      "platformCode" : "...",
      "fareZones" : [ { }, { } ],
      "index" : 12345,
      "description" : { },
      "gtfsVehicleType" : "COACH",
      "name" : { },
      "partOfStation" : true,
      "coordinate" : { },
      "url" : { },
      "priority" : "DISCOURAGED",
      "firstZoneAsString" : "..."
    } ],
    "lat" : 12345.0,
    "lon" : 12345.0,
    "coordinate" : { },
    "code" : "...",
    "description" : { },
    "url" : { },
    "priority" : "RECOMMENDED",
    "timezone" : "...",
    "transfersNotAllowed" : true,
    "geometry" : {
      "empty" : true,
      "coordinates" : [ { }, { } ],
      "numGeometries" : 12345,
      "dimension" : 12345,
      "numPoints" : 12345,
      "geometryType" : "...",
      "boundaryDimension" : 12345,
      "area" : 12345.0,
      "length" : 12345.0,
      "boundary" : { },
      "coordinate" : { },
      "envelope" : { },
      "rectangle" : true,
      "centroid" : { },
      "simple" : true,
      "interiorPoint" : { },
      "factory" : { },
      "valid" : true,
      "precisionModel" : { },
      "envelopeInternal" : { },
      "userData" : { },
      "SRID" : 12345
    },
    "id" : {
      "feedId" : "...",
      "id" : "..."
    }
  },
  "netexVehicleSubmode" : { },
  "wheelchairAccessibility" : "NOT_POSSIBLE",
  "stationOrStopId" : {
    "feedId" : "...",
    "id" : "..."
  },
  "code" : "...",
  "timeZone" : "...",
  "lat" : 12345.0,
  "platformCode" : "...",
  "fareZones" : [ {
    "name" : "...",
    "id" : {
      "feedId" : "...",
      "id" : "..."
    }
  }, {
    "name" : "...",
    "id" : {
      "feedId" : "...",
      "id" : "..."
    }
  } ],
  "index" : 12345,
  "description" : { },
  "gtfsVehicleType" : "CABLE_CAR",
  "name" : { },
  "partOfStation" : true,
  "coordinate" : { },
  "url" : { },
  "priority" : "RECOMMENDED",
  "firstZoneAsString" : "..."
}