50

Service Points API Guide

Read ServicePointVersions - Successfully

GET /v1/service-points

Query Parameters

Parameter Type Optional Description

sloids

Array[String]

true

numbers

Array[Integer]

true

uicCountryCodes

Array[Integer]

true

isoCountryCodes

Array[String]

true

numbersShort

Array[Integer]

true

abbreviations

Array[String]

true

businessOrganisationSboids

Array[String]

true

countries

Array[String]

true

Must be one of ["AZERBAIJAN","BELGIUM","BELARUS","SERB_BOSNIA_AND_HERZEGOVINA","BOSNIA_AND_HERZEGOVINA","CROAT_BOSNIA_AND_HERZEGOVINA","BULGARIA","CANADA","CHINA","NORTH_KOREA","SOUTH_KOREA","CROATIA","CUBA","DENMARK","EGYPT","ESTONIA","FINLAND","FRANCE","GEORGIA","GERMANY","JAPAN","GREECE","IRAN","IRAQ","IRELAND","ISRAEL","ITALY","KAZAKHSTAN","KYRGYZSTAN","LATVIA","LEBANON","LITHUANIA","LUXEMBOURG","MACEDONIA","MOROCCO","MOLDOVA","MONGOLIA","MONTENEGRO","NORWAY","NETHERLANDS","POLAND","PORTUGAL","GREAT_BRITAIN","CONGO","CZECH_REPUBLIC","ROMANIA","RUSSIA","SERBIA","SYRIA","SLOVAKIA","SLOVENIA","SPAIN","UNITED_STATES","SOUTH_AFRICA","SWEDEN","SWITZERLAND","TAJIKISTAN","TUNISIA","TURKEY","TURKMENISTAN","UKRAINE","HUNGARY","UZBEKISTAN","VIETNAM","GERMANY_BUS","AUSTRIA_BUS","ITALY_BUS","FRANCE_BUS","AUSTRIA_HUNGARY","BOSNIA_AND_HERZEGOVINA_RAILWAY","AFGHANISTAN","ALBANIA","ALGERIA","ARMENIA","AUSTRALIA","AUSTRIA","LIECHTENSTEIN","SUDAN","TSCHAD","LIBYEN","MONACO","NIGER","NIGERIA","JEMEN"]

operatingPointTechnicalTimetableTypes

Array[String]

true

Must be one of ["PROPERTY_LINE","INVESTMENT_LOCATIONS_OPERATING_POINT","COUNTRY_BORDER","UNKNOWN","OPERATING_POINT_BUS","TURNING_LOOP","ASSIGNED_OPERATING_POINT","BLOCKING_POINT","END_OF_TRACK","LANE_SEPARATION","INTERSECTION","CONNECTING_POINT","LANE_CHANGE","BRANCH","SERVICE_STATION","ERROR_PROFILE","EX_STOP_POINT","ROUTE_SPEED_CHANGE"]

categories

Array[String]

true

Must be one of ["NOVA_VIRTUAL","BILLETING_MACHINE","PARK_AND_RAIL","MAINTENANCE_POINT","BORDER_POINT","TCV_PASSENGER_TRANSPORT","HIGH_VOLTAGE_AREA","GSMR_POLE","POINT_OF_SALE","DISTRIBUTION_POINT","PROTECTED_PATH","GSMR","HOSTNAME","SIGNAL_BOX","IP_CLEAN_UP","GALLERY","MIGRATION_DIVERSE","MIGRATION_CENTRAL_SERVICE","MIGRATION_MOBILE_EQUIPE","MIGRATION_TCV_PV","TRAVEL_AGENCY","TRAVEL_AGENCY_ORGANISATION"]

operatingPointTypes

Array[String]

true

Must be one of ["INVENTORY_POINT","SYSTEM_OPERATING_POINT","RAILNET_POINT"]

stopPointTypes

Array[String]

true

Must be one of ["ORDERLY","ON_REQUEST","ZONE_ON_REQUEST","TEMPORARY","OUT_OF_ORDER","UNKNOWN"]

meansOfTransport

Array[String]

true

Must be one of ["TRAIN","BUS","TRAM","BOAT","CABLE_CAR","CHAIRLIFT","CABLE_RAILWAY","RACK_RAILWAY","METRO","ELEVATOR","UNKNOWN"]

statusRestrictions

Array[String]

true

Must be one of ["DRAFT","VALIDATED","IN_REVIEW","WITHDRAWN","REVOKED"]

operatingPoint

Boolean

true

withTimetable

Boolean

true

validOn

String

true

fromDate

String

true

toDate

String

true

validToFromDate

String

true

createdAfter

String

true

modifiedAfter

String

true

page

Integer

true

size

Integer

true

sort

Array[String]

true

Example request

$ curl 'http://localhost:8080/v1/service-points' -i -X GET

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2279

{
  "objects" : [ {
    "creationDate" : "2025-05-26T10:57:59.791502",
    "creator" : "e123456",
    "editionDate" : "2025-05-26T10:57:59.791521",
    "editor" : "e123456",
    "status" : "VALIDATED",
    "id" : 1027,
    "designationLong" : null,
    "designationOfficial" : "Bern, Wyleregg",
    "abbreviation" : null,
    "freightServicePoint" : false,
    "sortCodeOfDestinationStation" : null,
    "businessOrganisation" : "ch:1:sboid:100626",
    "categories" : [ ],
    "operatingPointType" : null,
    "operatingPointTechnicalTimetableType" : null,
    "operatingPointTrafficPointType" : null,
    "operatingPointRouteNetwork" : true,
    "meansOfTransport" : [ "BUS" ],
    "stopPointType" : null,
    "validFrom" : "2014-12-14",
    "validTo" : "2021-03-31",
    "etagVersion" : 0,
    "number" : {
      "number" : 8589008,
      "numberShort" : 89008,
      "checkDigit" : 7,
      "uicCountryCode" : 85
    },
    "sloid" : "ch:1:sloid:89008",
    "operatingPointKilometerMaster" : null,
    "operatingPoint" : true,
    "operatingPointWithTimetable" : true,
    "terminationInProgress" : false,
    "servicePointGeolocation" : {
      "spatialReference" : "LV95",
      "lv95" : {
        "north" : 1201099.0,
        "east" : 2600783.0,
        "spatialReference" : "LV95"
      },
      "wgs84" : {
        "north" : 46.96096808019,
        "east" : 7.44891972221,
        "spatialReference" : "WGS84"
      },
      "lv03" : {
        "north" : 201099.0,
        "east" : 600783.0,
        "spatialReference" : "LV03"
      },
      "height" : 555.0,
      "swissLocation" : {
        "canton" : "BERN",
        "cantonInformation" : {
          "fsoNumber" : 2,
          "name" : "Bern",
          "abbreviation" : "BE"
        },
        "district" : {
          "fsoNumber" : 246,
          "districtName" : "Bern-Mittelland"
        },
        "localityMunicipality" : {
          "fsoNumber" : 351,
          "municipalityName" : "Bern",
          "localityName" : "Bern"
        }
      },
      "isoCountryCode" : "CH"
    },
    "country" : "SWITZERLAND",
    "stopPoint" : true,
    "trafficPoint" : true,
    "borderPoint" : false,
    "operatingPointKilometer" : false,
    "fareStop" : false,
    "hasGeolocation" : true
  } ],
  "totalCount" : 1
}

Read ServicePoint by ServicePointNumber - Successfully

GET /v1/service-points/8589008

Path Variables

Path Variable Type Optional Description

servicePointNumber

Integer

false

Example request

$ curl 'http://localhost:8080/v1/service-points/8589008' -i -X GET

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2084

[ {
  "creationDate" : "2025-05-26T10:58:12.16775",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:12.167767",
  "editor" : "e123456",
  "status" : "VALIDATED",
  "id" : 1083,
  "designationLong" : null,
  "designationOfficial" : "Bern, Wyleregg",
  "abbreviation" : null,
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : null,
  "businessOrganisation" : "ch:1:sboid:100626",
  "categories" : [ ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "BUS" ],
  "stopPointType" : null,
  "validFrom" : "2014-12-14",
  "validTo" : "2021-03-31",
  "etagVersion" : 0,
  "number" : {
    "number" : 8589008,
    "numberShort" : 89008,
    "checkDigit" : 7,
    "uicCountryCode" : 85
  },
  "sloid" : "ch:1:sloid:89008",
  "operatingPointKilometerMaster" : null,
  "operatingPoint" : true,
  "operatingPointWithTimetable" : true,
  "terminationInProgress" : false,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "lv95" : {
      "north" : 1201099.0,
      "east" : 2600783.0,
      "spatialReference" : "LV95"
    },
    "wgs84" : {
      "north" : 46.96096808019,
      "east" : 7.44891972221,
      "spatialReference" : "WGS84"
    },
    "lv03" : {
      "north" : 201099.0,
      "east" : 600783.0,
      "spatialReference" : "LV03"
    },
    "height" : 555.0,
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    },
    "isoCountryCode" : "CH"
  },
  "country" : "SWITZERLAND",
  "stopPoint" : true,
  "trafficPoint" : true,
  "borderPoint" : false,
  "operatingPointKilometer" : false,
  "fareStop" : false,
  "hasGeolocation" : true
} ]

Read ServicePoint by ServicePointNumber - Unsuccessfully

GET /v1/service-points

Query Parameters

Parameter Type Optional Description

sloids

Array[String]

true

numbers

Array[Integer]

true

uicCountryCodes

Array[Integer]

true

isoCountryCodes

Array[String]

true

numbersShort

Array[Integer]

true

abbreviations

Array[String]

true

businessOrganisationSboids

Array[String]

true

countries

Array[String]

true

Must be one of ["AZERBAIJAN","BELGIUM","BELARUS","SERB_BOSNIA_AND_HERZEGOVINA","BOSNIA_AND_HERZEGOVINA","CROAT_BOSNIA_AND_HERZEGOVINA","BULGARIA","CANADA","CHINA","NORTH_KOREA","SOUTH_KOREA","CROATIA","CUBA","DENMARK","EGYPT","ESTONIA","FINLAND","FRANCE","GEORGIA","GERMANY","JAPAN","GREECE","IRAN","IRAQ","IRELAND","ISRAEL","ITALY","KAZAKHSTAN","KYRGYZSTAN","LATVIA","LEBANON","LITHUANIA","LUXEMBOURG","MACEDONIA","MOROCCO","MOLDOVA","MONGOLIA","MONTENEGRO","NORWAY","NETHERLANDS","POLAND","PORTUGAL","GREAT_BRITAIN","CONGO","CZECH_REPUBLIC","ROMANIA","RUSSIA","SERBIA","SYRIA","SLOVAKIA","SLOVENIA","SPAIN","UNITED_STATES","SOUTH_AFRICA","SWEDEN","SWITZERLAND","TAJIKISTAN","TUNISIA","TURKEY","TURKMENISTAN","UKRAINE","HUNGARY","UZBEKISTAN","VIETNAM","GERMANY_BUS","AUSTRIA_BUS","ITALY_BUS","FRANCE_BUS","AUSTRIA_HUNGARY","BOSNIA_AND_HERZEGOVINA_RAILWAY","AFGHANISTAN","ALBANIA","ALGERIA","ARMENIA","AUSTRALIA","AUSTRIA","LIECHTENSTEIN","SUDAN","TSCHAD","LIBYEN","MONACO","NIGER","NIGERIA","JEMEN"]

operatingPointTechnicalTimetableTypes

Array[String]

true

Must be one of ["PROPERTY_LINE","INVESTMENT_LOCATIONS_OPERATING_POINT","COUNTRY_BORDER","UNKNOWN","OPERATING_POINT_BUS","TURNING_LOOP","ASSIGNED_OPERATING_POINT","BLOCKING_POINT","END_OF_TRACK","LANE_SEPARATION","INTERSECTION","CONNECTING_POINT","LANE_CHANGE","BRANCH","SERVICE_STATION","ERROR_PROFILE","EX_STOP_POINT","ROUTE_SPEED_CHANGE"]

categories

Array[String]

true

Must be one of ["NOVA_VIRTUAL","BILLETING_MACHINE","PARK_AND_RAIL","MAINTENANCE_POINT","BORDER_POINT","TCV_PASSENGER_TRANSPORT","HIGH_VOLTAGE_AREA","GSMR_POLE","POINT_OF_SALE","DISTRIBUTION_POINT","PROTECTED_PATH","GSMR","HOSTNAME","SIGNAL_BOX","IP_CLEAN_UP","GALLERY","MIGRATION_DIVERSE","MIGRATION_CENTRAL_SERVICE","MIGRATION_MOBILE_EQUIPE","MIGRATION_TCV_PV","TRAVEL_AGENCY","TRAVEL_AGENCY_ORGANISATION"]

operatingPointTypes

Array[String]

true

Must be one of ["INVENTORY_POINT","SYSTEM_OPERATING_POINT","RAILNET_POINT"]

stopPointTypes

Array[String]

true

Must be one of ["ORDERLY","ON_REQUEST","ZONE_ON_REQUEST","TEMPORARY","OUT_OF_ORDER","UNKNOWN"]

meansOfTransport

Array[String]

true

Must be one of ["TRAIN","BUS","TRAM","BOAT","CABLE_CAR","CHAIRLIFT","CABLE_RAILWAY","RACK_RAILWAY","METRO","ELEVATOR","UNKNOWN"]

statusRestrictions

Array[String]

true

Must be one of ["DRAFT","VALIDATED","IN_REVIEW","WITHDRAWN","REVOKED"]

operatingPoint

Boolean

true

withTimetable

Boolean

true

validOn

String

true

fromDate

String

true

toDate

String

true

validToFromDate

String

true

createdAfter

String

true

modifiedAfter

String

true

page

Integer

true

size

Integer

true

sort

Array[String]

true

Example request

$ curl 'http://localhost:8080/v1/service-points?numbers=12345678' -i -X GET

Example response

HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 519

{
  "status" : 400,
  "message" : "Constraint for requestbody was violated",
  "error" : "Method argument not valid error",
  "details" : [ {
    "message" : "Value 12345678 rejected due to must be less than or equal to 9999999",
    "field" : "numbers[0]",
    "displayInfo" : {
      "code" : "ERROR.CONSTRAINT",
      "parameters" : [ {
        "key" : "rejectedValue",
        "value" : "12345678"
      }, {
        "key" : "cause",
        "value" : "must be less than or equal to 9999999"
      } ]
    }
  } ]
}

Read ServicePointVersion by ID - Successfully

GET /v1/service-points/versions/1067

Path Variables

Path Variable Type Optional Description

id

Integer

false

Example request

$ curl 'http://localhost:8080/v1/service-points/versions/1067' -i -X GET

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2080

{
  "creationDate" : "2025-05-26T10:58:09.464776",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:09.46479",
  "editor" : "e123456",
  "status" : "VALIDATED",
  "id" : 1067,
  "designationLong" : null,
  "designationOfficial" : "Bern, Wyleregg",
  "abbreviation" : null,
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : null,
  "businessOrganisation" : "ch:1:sboid:100626",
  "categories" : [ ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "BUS" ],
  "stopPointType" : null,
  "validFrom" : "2014-12-14",
  "validTo" : "2021-03-31",
  "etagVersion" : 0,
  "number" : {
    "number" : 8589008,
    "numberShort" : 89008,
    "checkDigit" : 7,
    "uicCountryCode" : 85
  },
  "sloid" : "ch:1:sloid:89008",
  "operatingPointKilometerMaster" : null,
  "operatingPoint" : true,
  "operatingPointWithTimetable" : true,
  "terminationInProgress" : false,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "lv95" : {
      "north" : 1201099.0,
      "east" : 2600783.0,
      "spatialReference" : "LV95"
    },
    "wgs84" : {
      "north" : 46.96096808019,
      "east" : 7.44891972221,
      "spatialReference" : "WGS84"
    },
    "lv03" : {
      "north" : 201099.0,
      "east" : 600783.0,
      "spatialReference" : "LV03"
    },
    "height" : 555.0,
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    },
    "isoCountryCode" : "CH"
  },
  "country" : "SWITZERLAND",
  "stopPoint" : true,
  "trafficPoint" : true,
  "borderPoint" : false,
  "operatingPointKilometer" : false,
  "fareStop" : false,
  "hasGeolocation" : true
}

Read ServicePoint by ServicePointNumber - NotFound

GET /v1/service-points/1234567

Path Variables

Path Variable Type Optional Description

servicePointNumber

Integer

false

Example request

$ curl 'http://localhost:8080/v1/service-points/1234567' -i -X GET

Example response

HTTP/1.1 404 Not Found
Content-Type: application/json
Content-Length: 440

{
  "status" : 404,
  "message" : "Entity not found",
  "error" : "Not found",
  "details" : [ {
    "message" : "Object with servicePointNumber 1234567 not found",
    "field" : "servicePointNumber",
    "displayInfo" : {
      "code" : "ERROR.ENTITY_NOT_FOUND",
      "parameters" : [ {
        "key" : "field",
        "value" : "servicePointNumber"
      }, {
        "key" : "value",
        "value" : "1234567"
      } ]
    }
  } ]
}

Search ServicePoint successfully

POST /v1/service-points/search

Request Body Fields

Path Type Optional Description

value

String

false

Search over: - ServicePointNumber/DiDok-Number formerly known as UIC-Code - Official designation of a location - Location abbreviation - Long designation of a location

Length must be between 2 and 2147483647

Example request

$ curl 'http://localhost:8080/v1/service-points/search' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "value" : "bern"
}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 104

[ {
  "number" : 8589008,
  "designationOfficial" : "Bern, Wyleregg",
  "sloid" : "ch:1:sloid:89008"
} ]

Search ServicePoint when no match

POST /v1/service-points/search

Request Body Fields

Path Type Optional Description

value

String

false

Search over: - ServicePointNumber/DiDok-Number formerly known as UIC-Code - Official designation of a location - Location abbreviation - Long designation of a location

Length must be between 2 and 2147483647

Example request

$ curl 'http://localhost:8080/v1/service-points/search' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "value" : "zug"
}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3

[ ]

Search ServicePoint when try to search with less than 2 digits

POST /v1/service-points/search

Request Body Fields

Path Type Optional Description

value

String

false

Search over: - ServicePointNumber/DiDok-Number formerly known as UIC-Code - Official designation of a location - Location abbreviation - Long designation of a location

Length must be between 2 and 2147483647

Example request

$ curl 'http://localhost:8080/v1/service-points/search' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "value" : "b"
}'

Example response

HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 528

{
  "status" : 400,
  "message" : "Constraint for requestbody was violated",
  "error" : "Method argument not valid error",
  "details" : [ {
    "message" : "Value b rejected due to You must enter at least 2 digits to start a search!",
    "field" : "value",
    "displayInfo" : {
      "code" : "ERROR.CONSTRAINT",
      "parameters" : [ {
        "key" : "rejectedValue",
        "value" : "b"
      }, {
        "key" : "cause",
        "value" : "You must enter at least 2 digits to start a search!"
      } ]
    }
  } ]
}

Search ServicePoint with route network true successfully

POST /v1/service-points/search-sp-with-route-network

Request Body Fields

Path Type Optional Description

value

String

false

Search over: - ServicePointNumber/DiDok-Number formerly known as UIC-Code - Official designation of a location - Location abbreviation - Long designation of a location

Length must be between 2 and 2147483647

Example request

$ curl 'http://localhost:8080/v1/service-points/search-sp-with-route-network' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "value" : "bern"
}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 104

[ {
  "number" : 8589008,
  "designationOfficial" : "Bern, Wyleregg",
  "sloid" : "ch:1:sloid:89008"
} ]

Search ServicePoint when no match

POST /v1/service-points/search

Request Body Fields

Path Type Optional Description

value

String

false

Search over: - ServicePointNumber/DiDok-Number formerly known as UIC-Code - Official designation of a location - Location abbreviation - Long designation of a location

Length must be between 2 and 2147483647

Example request

$ curl 'http://localhost:8080/v1/service-points/search' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "value" : "zug"
}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3

[ ]

Search ServicePoint when try to search with less than 2 digits

POST /v1/service-points/search

Request Body Fields

Path Type Optional Description

value

String

false

Search over: - ServicePointNumber/DiDok-Number formerly known as UIC-Code - Official designation of a location - Location abbreviation - Long designation of a location

Length must be between 2 and 2147483647

Example request

$ curl 'http://localhost:8080/v1/service-points/search' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "value" : "b"
}'

Example response

HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 528

{
  "status" : 400,
  "message" : "Constraint for requestbody was violated",
  "error" : "Method argument not valid error",
  "details" : [ {
    "message" : "Value b rejected due to You must enter at least 2 digits to start a search!",
    "field" : "value",
    "displayInfo" : {
      "code" : "ERROR.CONSTRAINT",
      "parameters" : [ {
        "key" : "rejectedValue",
        "value" : "b"
      }, {
        "key" : "cause",
        "value" : "You must enter at least 2 digits to start a search!"
      } ]
    }
  } ]
}

Search SwissOnly ServicePoint successfully

POST /v1/service-points/search-swiss-only

Request Body Fields

Path Type Optional Description

value

String

false

Search over: - ServicePointNumber/DiDok-Number formerly known as UIC-Code - Official designation of a location - Location abbreviation - Long designation of a location

Length must be between 2 and 2147483647

Example request

$ curl 'http://localhost:8080/v1/service-points/search-swiss-only' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "value" : "bern"
}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 104

[ {
  "number" : 8589008,
  "designationOfficial" : "Bern, Wyleregg",
  "sloid" : "ch:1:sloid:89008"
} ]

Create ServicePoint

POST /v1/service-points

Request Body Fields

Path Type Optional Description

numberShort

Integer

true

Five digits number. Represent service point ID.

Example value: 34505

country

String

false

The country for the service point. Only needed if ServicePointNumber is created automatically

Example value: SWITZERLAND

Must be one of ["AZERBAIJAN","BELGIUM","BELARUS","SERB_BOSNIA_AND_HERZEGOVINA","BOSNIA_AND_HERZEGOVINA","CROAT_BOSNIA_AND_HERZEGOVINA","BULGARIA","CANADA","CHINA","NORTH_KOREA","SOUTH_KOREA","CROATIA","CUBA","DENMARK","EGYPT","ESTONIA","FINLAND","FRANCE","GEORGIA","GERMANY","JAPAN","GREECE","IRAN","IRAQ","IRELAND","ISRAEL","ITALY","KAZAKHSTAN","KYRGYZSTAN","LATVIA","LEBANON","LITHUANIA","LUXEMBOURG","MACEDONIA","MOROCCO","MOLDOVA","MONGOLIA","MONTENEGRO","NORWAY","NETHERLANDS","POLAND","PORTUGAL","GREAT_BRITAIN","CONGO","CZECH_REPUBLIC","ROMANIA","RUSSIA","SERBIA","SYRIA","SLOVAKIA","SLOVENIA","SPAIN","UNITED_STATES","SOUTH_AFRICA","SWEDEN","SWITZERLAND","TAJIKISTAN","TUNISIA","TURKEY","TURKMENISTAN","UKRAINE","HUNGARY","UZBEKISTAN","VIETNAM","GERMANY_BUS","AUSTRIA_BUS","ITALY_BUS","FRANCE_BUS","AUSTRIA_HUNGARY","BOSNIA_AND_HERZEGOVINA_RAILWAY","AFGHANISTAN","ALBANIA","ALGERIA","ARMENIA","AUSTRALIA","AUSTRIA","LIECHTENSTEIN","SUDAN","TSCHAD","LIBYEN","MONACO","NIGER","NIGERIA","JEMEN"]

operatingPointKilometerMasterNumber

Integer

true

Reference to a operatingPointRouteNetwork. OperatingPointKilometer are always related to a operatingPointRouteNetwork

Example value: 8034505

servicePointGeolocation

Object

true

servicePointGeolocation.spatialReference

String

false

Coordinate system spatial reference

Example value: LV95

Must be one of ["WGS84WEB","LV95","LV03","WGS84"]

servicePointGeolocation.north

Decimal

false

North longitude

Example value: 225738.00000000000

servicePointGeolocation.east

Decimal

false

Eastern longitude

Example value: 681821.00000000000

servicePointGeolocation.height

Decimal

true

Height of the coordinate point

Example value: 540.20000

id

Integer

true

This ID helps identify versions of a service point in the use case front end and/or update. This ID can be deleted if the version is no longer present. Do not use this ID to map your object to a service point. To do this, use the sloid or number in combination with the data range (valid from/valid until).

Example value: 1

designationLong

String

true

Long designation of a location. Used primarily in customer information. Not all systems can process names of this length.

Example value: Biel/Bienne Bözingenfeld/Champs-de-Boujean

Length must be between 2 and 50

designationOfficial

String

false

Official designation of a location that must be used by all recipients

Example value: Biel/Bienne Bözingenfeld/Champ

Length must be between 2 and 30

abbreviation

String

true

Location abbreviation. Mainly used by the railways. Abbreviations may not be used as a code for identifying locations.

Example value: BIBD

Must conform to regex [A-Z0-9]*

Length must be between 1 and 6

freightServicePoint

Boolean

false

Indicates if this a Service Point for freights.

sortCodeOfDestinationStation

String

true

SortCodeOfDestinationStation - only for FreightServicePoint

Example value: 1234

Length must be between 0 and 5

businessOrganisation

String

false

SBOID of the associated BusinessOrganisation

Example value: ch:1:sboid:100001

Length must be between 1 and 50

categories

Array[String]

true

ServicePoint Categories: Assignment of service points to defined business cases.

Must be one of ["NOVA_VIRTUAL","BILLETING_MACHINE","PARK_AND_RAIL","MAINTENANCE_POINT","BORDER_POINT","TCV_PASSENGER_TRANSPORT","HIGH_VOLTAGE_AREA","GSMR_POLE","POINT_OF_SALE","DISTRIBUTION_POINT","PROTECTED_PATH","GSMR","HOSTNAME","SIGNAL_BOX","IP_CLEAN_UP","GALLERY","MIGRATION_DIVERSE","MIGRATION_CENTRAL_SERVICE","MIGRATION_MOBILE_EQUIPE","MIGRATION_TCV_PV","TRAVEL_AGENCY","TRAVEL_AGENCY_ORGANISATION"]

operatingPointType

String

true

OperatingPointType, Specifies the detailed intended use of a operating point.

Must be one of ["INVENTORY_POINT","SYSTEM_OPERATING_POINT","RAILNET_POINT"]

operatingPointTechnicalTimetableType

String

true

OperatingPointTechnicalTimetableType, all service points relevant for timetable planning and publication. At most one of OperatingPointTechnicalTimetableType, OperatingPointTrafficPointType may be set

Must be one of ["PROPERTY_LINE","INVESTMENT_LOCATIONS_OPERATING_POINT","COUNTRY_BORDER","UNKNOWN","OPERATING_POINT_BUS","TURNING_LOOP","ASSIGNED_OPERATING_POINT","BLOCKING_POINT","END_OF_TRACK","LANE_SEPARATION","INTERSECTION","CONNECTING_POINT","LANE_CHANGE","BRANCH","SERVICE_STATION","ERROR_PROFILE","EX_STOP_POINT","ROUTE_SPEED_CHANGE"]

operatingPointTrafficPointType

String

true

OperatingPointTrafficPointType, Specifies the detailed intended use of a traffic point.At most one of OperatingPointTechnicalTimetableType, OperatingPointTrafficPointType may be set

Must be one of ["TARIFF_POINT"]

operatingPointRouteNetwork

Boolean

false

ServicePoint is OperatingPointRouteNetwork

Example value: false

meansOfTransport

Array[String]

true

Means of transport. Indicates for which means of transport a stop is intended/equipped. Mandatory for StopPoints

Must be one of ["TRAIN","BUS","TRAM","BOAT","CABLE_CAR","CHAIRLIFT","CABLE_RAILWAY","RACK_RAILWAY","METRO","ELEVATOR","UNKNOWN"]

stopPointType

String

true

Type of the StopPoint, Indicates for which type of traffic (e.g. regular traffic) a stop was recorded.

Must be one of ["ORDERLY","ON_REQUEST","ZONE_ON_REQUEST","TEMPORARY","OUT_OF_ORDER","UNKNOWN"]

validFrom

String

false

validTo

String

false

etagVersion

Integer

true

Optimistic locking version - instead of ETag HTTP Header (see RFC7232:Section 2.3)

Example value: 5

creationDate

String

true

Object creation date

Example value: 01.01.2000

creator

String

true

User creator

Example value: u123456

editionDate

String

true

Last edition date

Example value: 01.01.2000

editor

String

true

User editor

Example value: u123456

status

String

true

Status

Must be one of ["DRAFT","VALIDATED","IN_REVIEW","WITHDRAWN","REVOKED"]

Example request

$ curl 'http://localhost:8080/v1/service-points' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "creationDate" : null,
  "creator" : null,
  "editionDate" : null,
  "editor" : null,
  "status" : null,
  "id" : null,
  "designationLong" : "designation long 1",
  "designationOfficial" : "Aargau Strasse",
  "abbreviation" : "ABC",
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : "39136",
  "businessOrganisation" : "ch:1:sboid:100871",
  "categories" : [ "POINT_OF_SALE" ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "TRAIN" ],
  "stopPointType" : "ON_REQUEST",
  "validFrom" : "2010-12-11",
  "validTo" : "2019-08-10",
  "etagVersion" : null,
  "operatingPointKilometerMasterNumber" : null,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "north" : 1201099.0,
    "east" : 2600783.0,
    "height" : 555.0,
    "country" : "SWITZERLAND",
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    }
  },
  "numberShort" : null,
  "country" : "SWITZERLAND"
}'

Example response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 2208

{
  "creationDate" : "2025-05-26T10:58:20.479196",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:20.4792",
  "editor" : "e123456",
  "status" : "DRAFT",
  "id" : 1127,
  "designationLong" : "designation long 1",
  "designationOfficial" : "Aargau Strasse",
  "abbreviation" : "ABC",
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : "39136",
  "businessOrganisation" : "ch:1:sboid:100871",
  "categories" : [ "POINT_OF_SALE" ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "TRAIN" ],
  "stopPointType" : "ON_REQUEST",
  "validFrom" : "2010-12-11",
  "validTo" : "2019-08-10",
  "etagVersion" : 0,
  "number" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "sloid" : "ch:1:sloid:1",
  "operatingPointKilometerMaster" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "operatingPoint" : true,
  "operatingPointWithTimetable" : true,
  "terminationInProgress" : false,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "lv95" : {
      "north" : 1201099.0,
      "east" : 2600783.0,
      "spatialReference" : "LV95"
    },
    "wgs84" : {
      "north" : 46.96096808019,
      "east" : 7.44891972221,
      "spatialReference" : "WGS84"
    },
    "lv03" : {
      "north" : 201099.0,
      "east" : 600783.0,
      "spatialReference" : "LV03"
    },
    "height" : 555.0,
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    },
    "isoCountryCode" : "CH"
  },
  "country" : "SWITZERLAND",
  "stopPoint" : true,
  "trafficPoint" : true,
  "borderPoint" : false,
  "operatingPointKilometer" : true,
  "fareStop" : false,
  "hasGeolocation" : true
}

Validate ServicePoint Status

POST /v1/service-points/versions/1110/skip-workflow

Path Variables

Path Variable Type Optional Description

id

Integer

false

Example request

$ curl 'http://localhost:8080/v1/service-points/versions/1110/skip-workflow' -i -X POST

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2214

{
  "creationDate" : "2025-05-26T10:58:17.971666",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:18.065569",
  "editor" : "e123456",
  "status" : "VALIDATED",
  "id" : 1110,
  "designationLong" : "designation long 1",
  "designationOfficial" : "Aargau Strasse",
  "abbreviation" : "ABC",
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : "39136",
  "businessOrganisation" : "ch:1:sboid:100871",
  "categories" : [ "POINT_OF_SALE" ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "TRAIN" ],
  "stopPointType" : "ON_REQUEST",
  "validFrom" : "2010-12-11",
  "validTo" : "2019-08-10",
  "etagVersion" : 1,
  "number" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "sloid" : "ch:1:sloid:1",
  "operatingPointKilometerMaster" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "operatingPoint" : true,
  "operatingPointWithTimetable" : true,
  "terminationInProgress" : false,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "lv95" : {
      "north" : 1201099.0,
      "east" : 2600783.0,
      "spatialReference" : "LV95"
    },
    "wgs84" : {
      "north" : 46.96096808019,
      "east" : 7.44891972221,
      "spatialReference" : "WGS84"
    },
    "lv03" : {
      "north" : 201099.0,
      "east" : 600783.0,
      "spatialReference" : "LV03"
    },
    "height" : 555.0,
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    },
    "isoCountryCode" : "CH"
  },
  "country" : "SWITZERLAND",
  "stopPoint" : true,
  "trafficPoint" : true,
  "borderPoint" : false,
  "operatingPointKilometer" : true,
  "fareStop" : false,
  "hasGeolocation" : true
}

Revoke ServicePoints Status

POST /v1/service-points/8500001/revoke

Path Variables

Path Variable Type Optional Description

servicePointNumber

Integer

false

Example request

$ curl 'http://localhost:8080/v1/service-points/8500001/revoke' -i -X POST

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4428

[ {
  "creationDate" : "2025-05-26T10:58:00.476528",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:00.866175",
  "editor" : "e123456",
  "status" : "REVOKED",
  "id" : 1031,
  "designationLong" : "designation long 1",
  "designationOfficial" : "Aargau Strasse",
  "abbreviation" : "ABC",
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : "39136",
  "businessOrganisation" : "ch:1:sboid:100871",
  "categories" : [ "POINT_OF_SALE" ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "TRAIN" ],
  "stopPointType" : "ON_REQUEST",
  "validFrom" : "2010-12-11",
  "validTo" : "2019-08-10",
  "etagVersion" : 2,
  "number" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "sloid" : "ch:1:sloid:1",
  "operatingPointKilometerMaster" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "operatingPoint" : true,
  "operatingPointWithTimetable" : true,
  "terminationInProgress" : false,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "lv95" : {
      "north" : 1201099.0,
      "east" : 2600783.0,
      "spatialReference" : "LV95"
    },
    "wgs84" : {
      "north" : 46.96096808019,
      "east" : 7.44891972221,
      "spatialReference" : "WGS84"
    },
    "lv03" : {
      "north" : 201099.0,
      "east" : 600783.0,
      "spatialReference" : "LV03"
    },
    "height" : 555.0,
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    },
    "isoCountryCode" : "CH"
  },
  "country" : "SWITZERLAND",
  "stopPoint" : true,
  "trafficPoint" : true,
  "borderPoint" : false,
  "operatingPointKilometer" : true,
  "fareStop" : false,
  "hasGeolocation" : true
}, {
  "creationDate" : "2025-05-26T10:58:00.697201",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:00.867966",
  "editor" : "e123456",
  "status" : "REVOKED",
  "id" : 1032,
  "designationLong" : "designation long 1",
  "designationOfficial" : "Aargau Strasse",
  "abbreviation" : "ABC",
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : "39136",
  "businessOrganisation" : "ch:1:sboid:100871",
  "categories" : [ "POINT_OF_SALE" ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "BUS" ],
  "stopPointType" : "ON_REQUEST",
  "validFrom" : "2019-08-11",
  "validTo" : "2020-08-10",
  "etagVersion" : 3,
  "number" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "sloid" : "ch:1:sloid:1",
  "operatingPointKilometerMaster" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "operatingPoint" : true,
  "operatingPointWithTimetable" : true,
  "terminationInProgress" : false,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "lv95" : {
      "north" : 1201099.0,
      "east" : 2600783.0,
      "spatialReference" : "LV95"
    },
    "wgs84" : {
      "north" : 46.96096808019,
      "east" : 7.44891972221,
      "spatialReference" : "WGS84"
    },
    "lv03" : {
      "north" : 201099.0,
      "east" : 600783.0,
      "spatialReference" : "LV03"
    },
    "height" : 555.0,
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    },
    "isoCountryCode" : "CH"
  },
  "country" : "SWITZERLAND",
  "stopPoint" : true,
  "trafficPoint" : true,
  "borderPoint" : false,
  "operatingPointKilometer" : true,
  "fareStop" : false,
  "hasGeolocation" : true
} ]

Update ServicePoint by ID

PUT /v1/service-points/1038

Path Variables

Path Variable Type Optional Description

id

Integer

false

Request Body Fields

Path Type Optional Description

operatingPointKilometerMasterNumber

Integer

true

Reference to a operatingPointRouteNetwork. OperatingPointKilometer are always related to a operatingPointRouteNetwork

Example value: 8034505

servicePointGeolocation

Object

true

servicePointGeolocation.spatialReference

String

false

Coordinate system spatial reference

Example value: LV95

Must be one of ["WGS84WEB","LV95","LV03","WGS84"]

servicePointGeolocation.north

Decimal

false

North longitude

Example value: 225738.00000000000

servicePointGeolocation.east

Decimal

false

Eastern longitude

Example value: 681821.00000000000

servicePointGeolocation.height

Decimal

true

Height of the coordinate point

Example value: 540.20000

id

Integer

true

This ID helps identify versions of a service point in the use case front end and/or update. This ID can be deleted if the version is no longer present. Do not use this ID to map your object to a service point. To do this, use the sloid or number in combination with the data range (valid from/valid until).

Example value: 1

designationLong

String

true

Long designation of a location. Used primarily in customer information. Not all systems can process names of this length.

Example value: Biel/Bienne Bözingenfeld/Champs-de-Boujean

Length must be between 2 and 50

designationOfficial

String

false

Official designation of a location that must be used by all recipients

Example value: Biel/Bienne Bözingenfeld/Champ

Length must be between 2 and 30

abbreviation

String

true

Location abbreviation. Mainly used by the railways. Abbreviations may not be used as a code for identifying locations.

Example value: BIBD

Must conform to regex [A-Z0-9]*

Length must be between 1 and 6

freightServicePoint

Boolean

false

Indicates if this a Service Point for freights.

sortCodeOfDestinationStation

String

true

SortCodeOfDestinationStation - only for FreightServicePoint

Example value: 1234

Length must be between 0 and 5

businessOrganisation

String

false

SBOID of the associated BusinessOrganisation

Example value: ch:1:sboid:100001

Length must be between 1 and 50

categories

Array[String]

true

ServicePoint Categories: Assignment of service points to defined business cases.

Must be one of ["NOVA_VIRTUAL","BILLETING_MACHINE","PARK_AND_RAIL","MAINTENANCE_POINT","BORDER_POINT","TCV_PASSENGER_TRANSPORT","HIGH_VOLTAGE_AREA","GSMR_POLE","POINT_OF_SALE","DISTRIBUTION_POINT","PROTECTED_PATH","GSMR","HOSTNAME","SIGNAL_BOX","IP_CLEAN_UP","GALLERY","MIGRATION_DIVERSE","MIGRATION_CENTRAL_SERVICE","MIGRATION_MOBILE_EQUIPE","MIGRATION_TCV_PV","TRAVEL_AGENCY","TRAVEL_AGENCY_ORGANISATION"]

operatingPointType

String

true

OperatingPointType, Specifies the detailed intended use of a operating point.

Must be one of ["INVENTORY_POINT","SYSTEM_OPERATING_POINT","RAILNET_POINT"]

operatingPointTechnicalTimetableType

String

true

OperatingPointTechnicalTimetableType, all service points relevant for timetable planning and publication. At most one of OperatingPointTechnicalTimetableType, OperatingPointTrafficPointType may be set

Must be one of ["PROPERTY_LINE","INVESTMENT_LOCATIONS_OPERATING_POINT","COUNTRY_BORDER","UNKNOWN","OPERATING_POINT_BUS","TURNING_LOOP","ASSIGNED_OPERATING_POINT","BLOCKING_POINT","END_OF_TRACK","LANE_SEPARATION","INTERSECTION","CONNECTING_POINT","LANE_CHANGE","BRANCH","SERVICE_STATION","ERROR_PROFILE","EX_STOP_POINT","ROUTE_SPEED_CHANGE"]

operatingPointTrafficPointType

String

true

OperatingPointTrafficPointType, Specifies the detailed intended use of a traffic point.At most one of OperatingPointTechnicalTimetableType, OperatingPointTrafficPointType may be set

Must be one of ["TARIFF_POINT"]

operatingPointRouteNetwork

Boolean

false

ServicePoint is OperatingPointRouteNetwork

Example value: false

meansOfTransport

Array[String]

true

Means of transport. Indicates for which means of transport a stop is intended/equipped. Mandatory for StopPoints

Must be one of ["TRAIN","BUS","TRAM","BOAT","CABLE_CAR","CHAIRLIFT","CABLE_RAILWAY","RACK_RAILWAY","METRO","ELEVATOR","UNKNOWN"]

stopPointType

String

true

Type of the StopPoint, Indicates for which type of traffic (e.g. regular traffic) a stop was recorded.

Must be one of ["ORDERLY","ON_REQUEST","ZONE_ON_REQUEST","TEMPORARY","OUT_OF_ORDER","UNKNOWN"]

validFrom

String

false

validTo

String

false

etagVersion

Integer

true

Optimistic locking version - instead of ETag HTTP Header (see RFC7232:Section 2.3)

Example value: 5

creationDate

String

true

Object creation date

Example value: 01.01.2000

creator

String

true

User creator

Example value: u123456

editionDate

String

true

Last edition date

Example value: 01.01.2000

editor

String

true

User editor

Example value: u123456

status

String

true

Status

Must be one of ["DRAFT","VALIDATED","IN_REVIEW","WITHDRAWN","REVOKED"]

Example request

$ curl 'http://localhost:8080/v1/service-points/1038' -i -X PUT \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "creationDate" : null,
  "creator" : null,
  "editionDate" : null,
  "editor" : null,
  "status" : null,
  "id" : null,
  "designationLong" : "designation long 1",
  "designationOfficial" : "Aargau Strasse",
  "abbreviation" : "ABC",
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : "39136",
  "businessOrganisation" : "ch:1:sboid:100871",
  "categories" : [ "POINT_OF_SALE" ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "TRAIN" ],
  "stopPointType" : "ON_REQUEST",
  "validFrom" : "2011-12-11",
  "validTo" : "2012-12-11",
  "etagVersion" : 0,
  "operatingPointKilometerMasterNumber" : null,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "north" : 1200000.0,
    "east" : 2600000.0,
    "height" : null,
    "country" : "SWITZERLAND",
    "swissLocation" : {
      "canton" : "AARGAU",
      "cantonInformation" : {
        "fsoNumber" : 19,
        "name" : "Aargau",
        "abbreviation" : "AG"
      },
      "district" : {
        "fsoNumber" : 1909,
        "districtName" : "Rheinfelden"
      },
      "localityMunicipality" : {
        "fsoNumber" : null,
        "municipalityName" : "Hellikon",
        "localityName" : "Hellikon"
      }
    }
  },
  "numberShort" : null,
  "country" : "SWITZERLAND"
}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 6637

[ {
  "creationDate" : "2025-05-26T10:58:01.883157",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:02.07888",
  "editor" : "e123456",
  "status" : "DRAFT",
  "id" : 1038,
  "designationLong" : "designation long 1",
  "designationOfficial" : "Aargau Strasse",
  "abbreviation" : "ABC",
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : "39136",
  "businessOrganisation" : "ch:1:sboid:100871",
  "categories" : [ "POINT_OF_SALE" ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "TRAIN" ],
  "stopPointType" : "ON_REQUEST",
  "validFrom" : "2010-12-11",
  "validTo" : "2011-12-10",
  "etagVersion" : 2,
  "number" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "sloid" : "ch:1:sloid:1",
  "operatingPointKilometerMaster" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "operatingPoint" : true,
  "operatingPointWithTimetable" : true,
  "terminationInProgress" : false,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "lv95" : {
      "north" : 1201099.0,
      "east" : 2600783.0,
      "spatialReference" : "LV95"
    },
    "wgs84" : {
      "north" : 46.96096808019,
      "east" : 7.44891972221,
      "spatialReference" : "WGS84"
    },
    "lv03" : {
      "north" : 201099.0,
      "east" : 600783.0,
      "spatialReference" : "LV03"
    },
    "height" : 555.0,
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    },
    "isoCountryCode" : "CH"
  },
  "country" : "SWITZERLAND",
  "stopPoint" : true,
  "trafficPoint" : true,
  "borderPoint" : false,
  "operatingPointKilometer" : true,
  "fareStop" : false,
  "hasGeolocation" : true
}, {
  "creationDate" : "2025-05-26T10:58:02.106605",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:02.165312",
  "editor" : "e123456",
  "status" : "DRAFT",
  "id" : 1039,
  "designationLong" : "designation long 1",
  "designationOfficial" : "Aargau Strasse",
  "abbreviation" : "ABC",
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : "39136",
  "businessOrganisation" : "ch:1:sboid:100871",
  "categories" : [ "POINT_OF_SALE" ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "TRAIN" ],
  "stopPointType" : "ON_REQUEST",
  "validFrom" : "2011-12-11",
  "validTo" : "2012-12-11",
  "etagVersion" : 2,
  "number" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "sloid" : "ch:1:sloid:1",
  "operatingPointKilometerMaster" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "operatingPoint" : true,
  "operatingPointWithTimetable" : true,
  "terminationInProgress" : false,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "lv95" : {
      "north" : 1200000.0,
      "east" : 2600000.0,
      "spatialReference" : "LV95"
    },
    "wgs84" : {
      "north" : 46.95108277187,
      "east" : 7.43863242087,
      "spatialReference" : "WGS84"
    },
    "lv03" : {
      "north" : 200000.0,
      "east" : 600000.0,
      "spatialReference" : "LV03"
    },
    "height" : 553.6,
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    },
    "isoCountryCode" : "CH"
  },
  "country" : "SWITZERLAND",
  "stopPoint" : true,
  "trafficPoint" : true,
  "borderPoint" : false,
  "operatingPointKilometer" : true,
  "fareStop" : false,
  "hasGeolocation" : true
}, {
  "creationDate" : "2025-05-26T10:58:02.196831",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:02.200478",
  "editor" : "e123456",
  "status" : "DRAFT",
  "id" : 1040,
  "designationLong" : "designation long 1",
  "designationOfficial" : "Aargau Strasse",
  "abbreviation" : "ABC",
  "freightServicePoint" : false,
  "sortCodeOfDestinationStation" : "39136",
  "businessOrganisation" : "ch:1:sboid:100871",
  "categories" : [ "POINT_OF_SALE" ],
  "operatingPointType" : null,
  "operatingPointTechnicalTimetableType" : null,
  "operatingPointTrafficPointType" : null,
  "operatingPointRouteNetwork" : true,
  "meansOfTransport" : [ "TRAIN" ],
  "stopPointType" : "ON_REQUEST",
  "validFrom" : "2012-12-12",
  "validTo" : "2019-08-10",
  "etagVersion" : 2,
  "number" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "sloid" : "ch:1:sloid:1",
  "operatingPointKilometerMaster" : {
    "number" : 8500001,
    "numberShort" : 1,
    "checkDigit" : 8,
    "uicCountryCode" : 85
  },
  "operatingPoint" : true,
  "operatingPointWithTimetable" : true,
  "terminationInProgress" : false,
  "servicePointGeolocation" : {
    "spatialReference" : "LV95",
    "lv95" : {
      "north" : 1201099.0,
      "east" : 2600783.0,
      "spatialReference" : "LV95"
    },
    "wgs84" : {
      "north" : 46.96096808019,
      "east" : 7.44891972221,
      "spatialReference" : "WGS84"
    },
    "lv03" : {
      "north" : 201099.0,
      "east" : 600783.0,
      "spatialReference" : "LV03"
    },
    "height" : 555.0,
    "swissLocation" : {
      "canton" : "BERN",
      "cantonInformation" : {
        "fsoNumber" : 2,
        "name" : "Bern",
        "abbreviation" : "BE"
      },
      "district" : {
        "fsoNumber" : 246,
        "districtName" : "Bern-Mittelland"
      },
      "localityMunicipality" : {
        "fsoNumber" : 351,
        "municipalityName" : "Bern",
        "localityName" : "Bern"
      }
    },
    "isoCountryCode" : "CH"
  },
  "country" : "SWITZERLAND",
  "stopPoint" : true,
  "trafficPoint" : true,
  "borderPoint" : false,
  "operatingPointKilometer" : true,
  "fareStop" : false,
  "hasGeolocation" : true
} ]

Get ServicePoint FotComment

GET /v1/service-points/8589008/fot-comment

Path Variables

Path Variable Type Optional Description

servicePointNumber

Integer

false

Example request

$ curl 'http://localhost:8080/v1/service-points/8589008/fot-comment' -i -X GET

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 247

{
  "creationDate" : "2025-05-26T10:58:30.275708",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:30.275717",
  "editor" : "e123456",
  "status" : null,
  "fotComment" : "Very important on demand service point",
  "etagVersion" : 0
}

Create ServicePoint FotComment

PUT /v1/service-points/8589008/fot-comment

Path Variables

Path Variable Type Optional Description

servicePointNumber

Integer

false

Request Body Fields

Path Type Optional Description

fotComment

String

true

FotComment

Example value: Good Service Point.

Length must be between 1 and 2000

etagVersion

Integer

true

Optimistic locking version - instead of ETag HTTP Header (see RFC7232:Section 2.3)

Example value: 5

creationDate

String

true

Object creation date

Example value: 01.01.2000

creator

String

true

User creator

Example value: u123456

editionDate

String

true

Last edition date

Example value: 01.01.2000

editor

String

true

User editor

Example value: u123456

status

String

true

Status

Must be one of ["DRAFT","VALIDATED","IN_REVIEW","WITHDRAWN","REVOKED"]

Example request

$ curl 'http://localhost:8080/v1/service-points/8589008/fot-comment' -i -X PUT \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -d '{
  "creationDate" : null,
  "creator" : null,
  "editionDate" : null,
  "editor" : null,
  "status" : null,
  "fotComment" : "Very important on demand service point",
  "etagVersion" : null
}'

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 247

{
  "creationDate" : "2025-05-26T10:58:30.401098",
  "creator" : "e123456",
  "editionDate" : "2025-05-26T10:58:30.401108",
  "editor" : "e123456",
  "status" : null,
  "fotComment" : "Very important on demand service point",
  "etagVersion" : 0
}