Beta: Price information with OJP Fare

#AutoTranslate

Brief Description

A query of public transport prices via NOVA is made available via this interface.

This is an initial test system and the data comes from integration and not from production.

Functional Description

The OJP fare service allows the price of trips to be calculated. The service can be used to carry out queries in the OJP format with NOVA. The answers also include discount trips. The queries must be made in the future. The trips must be provided as TripResult.

Price enquiries can only be made in Switzerland. Price enquiries with a Half Fare Travelcard (‘Half Fare Travelcard’) are possible.

The price information is not binding. The actual price is only defined when the order is placed.

The number of requests is also limited.

Technical Description

At the moment, only the integration system is available.

The most important data and interfaces:

URL: https://api.opentransportdata.swiss/ojpfare/
Access is only possible with the API key. See: API Manager
For first attempts, here is an OpenAPI: API Explorer OJPFare
The service also allows you to: OJPTripRequests and then extract the necessary TripResults for the query.

Journey planner (OJP) dates and price information: https://data.opentransportdata.swiss/group/journeyplanner

Price information:

Example: OJPTripRequest within Bern

<OJP xmlns="http://www.siri.org.uk/siri" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ojp="http://www.vdv.de/ojp" xsi:schemaLocation="http://www.siri.org.uk/siri ../ojp-xsd-v1.0/OJP.xsd" version="1.0">
  <OJPRequest>
    <ServiceRequest>
      <RequestorRef>OJP SDK v1.0</RequestorRef>
      <RequestTimestamp>2023-09-04T11:00:53.285Z</RequestTimestamp>
      <ojp:OJPTripRequest>
        <RequestTimestamp>2023-09-04T11:00:53.285Z</RequestTimestamp>
        <ojp:Origin>
          <ojp:PlaceRef>
            <StopPointRef>8576990</StopPointRef>
            <ojp:LocationName>
              <ojp:Text>Bern, Guisanplatz Expo (Bern)</ojp:Text>
            </ojp:LocationName>
          </ojp:PlaceRef>
        </ojp:Origin>
        <ojp:Destination>
          <ojp:PlaceRef>
            <StopPointRef>8571359</StopPointRef>
            <ojp:LocationName>
              <ojp:Text>Bern, Länggasse (Bern)</ojp:Text>
            </ojp:LocationName>
          </ojp:PlaceRef>
        </ojp:Destination>
        <ojp:Params>
          <ojp:NumberOfResultsAfter>5</ojp:NumberOfResultsAfter>
          <ojp:IncludeTrackSections>true</ojp:IncludeTrackSections>
          <ojp:IncludeLegProjection>true</ojp:IncludeLegProjection>
          <ojp:IncludeTurnDescription>true</ojp:IncludeTurnDescription>
          <ojp:IncludeIntermediateStops>true</ojp:IncludeIntermediateStops>
        </ojp:Params>
      </ojp:OJPTripRequest>
    </ServiceRequest>
  </OJPRequest>
</OJP>

 

A TripResult in the answer:

        <ojp:TripResult>
          <ojp:ResultId>ID-52F8DE3F-2A4D-45F7-A432-017FD41A62D6</ojp:ResultId>
          <ojp:Trip>
            <ojp:TripId>ID-52F8DE3F-2A4D-45F7-A432-017FD41A62D6</ojp:TripId>
            <ojp:Duration>PT22M</ojp:Duration>
            <ojp:StartTime>2023-10-02T12:22:30Z</ojp:StartTime>
            <ojp:EndTime>2023-10-02T12:44:00Z</ojp:EndTime>
            <ojp:Transfers>2</ojp:Transfers>
            <ojp:Distance>5738</ojp:Distance>
            <ojp:TripLeg>
              <ojp:LegId>1</ojp:LegId>
              <ojp:TimedLeg>
                <ojp:LegBoard>
                  <StopPointRef>8576990</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Guisanplatz Expo</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:PlannedQuay>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">E</ojp:Text>
                  </ojp:PlannedQuay>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:22:30Z</ojp:TimetabledTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>1</ojp:Order>
                </ojp:LegBoard>
                <ojp:LegIntermediates>
                  <StopPointRef>8576991</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Kasernenstrasse</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:23:30Z</ojp:TimetabledTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:23:30Z</ojp:TimetabledTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>2</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegAlight>
                  <StopPointRef>8587485</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Rosengarten</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:25:00Z</ojp:TimetabledTime>
                  </ojp:ServiceArrival>
                  <ojp:Order>3</ojp:Order>
                </ojp:LegAlight>
                <ojp:Service>
                  <ojp:OperatingDayRef>2023-10-02</ojp:OperatingDayRef>
                  <ojp:JourneyRef>ojp:92040::H:j23:445:42369</ojp:JourneyRef>
                  <LineRef>ojp:92040:</LineRef>
                  <DirectionRef>H</DirectionRef>
                  <ojp:Mode>
                    <ojp:PtMode>bus</ojp:PtMode>
                    <BusSubmode>localBusService</BusSubmode>
                    <ojp:Name>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bus</ojp:Text>
                    </ojp:Name>
                    <ojp:ShortName>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">B</ojp:Text>
                    </ojp:ShortName>
                  </ojp:Mode>
                  <ojp:PublishedLineName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">40</ojp:Text>
                  </ojp:PublishedLineName>
                  <ojp:OperatorRef>ojp:850</ojp:OperatorRef>
                  <ojp:DestinationStopPointRef>8577024</ojp:DestinationStopPointRef>
                  <ojp:DestinationText>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Allmendingen b. B., K�serei</ojp:Text>
                  </ojp:DestinationText>
                </ojp:Service>
              </ojp:TimedLeg>
            </ojp:TripLeg>
            <ojp:TripLeg>
              <ojp:LegId>2</ojp:LegId>
              <ojp:TransferLeg>
                <ojp:TransferMode>walk</ojp:TransferMode>
                <ojp:LegStart>
                  <StopPointRef>8587485</StopPointRef>
                  <ojp:LocationName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Rosengarten</ojp:Text>
                  </ojp:LocationName>
                </ojp:LegStart>
                <ojp:LegEnd>
                  <StopPointRef>8587485</StopPointRef>
                  <ojp:LocationName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Rosengarten</ojp:Text>
                  </ojp:LocationName>
                </ojp:LegEnd>
                <ojp:TimeWindowStart>2023-10-02T12:25:00Z</ojp:TimeWindowStart>
                <ojp:TimeWindowEnd>2023-10-02T12:27:36Z</ojp:TimeWindowEnd>
                <ojp:Duration>PT3M</ojp:Duration>
                <ojp:WalkDuration>PT1M</ojp:WalkDuration>
                <ojp:BufferTime>PT1M</ojp:BufferTime>
              </ojp:TransferLeg>
            </ojp:TripLeg>
            <ojp:TripLeg>
              <ojp:LegId>3</ojp:LegId>
              <ojp:TimedLeg>
                <ojp:LegBoard>
                  <StopPointRef>8587485</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Rosengarten</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:27:36Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:27:36Z</ojp:EstimatedTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>1</ojp:Order>
                </ojp:LegBoard>
                <ojp:LegIntermediates>
                  <StopPointRef>8587484</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Sch�nburg</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:28:42Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:28:42Z</ojp:EstimatedTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:28:42Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:28:42Z</ojp:EstimatedTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>2</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegIntermediates>
                  <StopPointRef>8587483</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Salem</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:29:30Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:29:30Z</ojp:EstimatedTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:29:30Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:29:30Z</ojp:EstimatedTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>3</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegIntermediates>
                  <StopPointRef>8590021</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Viktoriaplatz</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:PlannedQuay>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">C</ojp:Text>
                  </ojp:PlannedQuay>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:30:30Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:30:30Z</ojp:EstimatedTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:30:30Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:30:30Z</ojp:EstimatedTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>4</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegIntermediates>
                  <StopPointRef>8507110</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Zytglogge</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:PlannedQuay>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">A</ojp:Text>
                  </ojp:PlannedQuay>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:32:54Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:32:54Z</ojp:EstimatedTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:32:54Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:32:54Z</ojp:EstimatedTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>5</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegIntermediates>
                  <StopPointRef>8590048</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Bundesplatz</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:34:24Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:34:24Z</ojp:EstimatedTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:34:24Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:34:24Z</ojp:EstimatedTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>6</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegAlight>
                  <StopPointRef>8576646</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Bahnhof</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:PlannedQuay>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">I</ojp:Text>
                  </ojp:PlannedQuay>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:35:30Z</ojp:TimetabledTime>
                    <ojp:EstimatedTime>2023-10-02T12:35:36Z</ojp:EstimatedTime>
                  </ojp:ServiceArrival>
                  <ojp:Order>7</ojp:Order>
                </ojp:LegAlight>
                <ojp:Service>
                  <ojp:OperatingDayRef>2023-10-02</ojp:OperatingDayRef>
                  <ojp:JourneyRef>ojp:92010::R:j23:3656:17878</ojp:JourneyRef>
                  <LineRef>ojp:92010:</LineRef>
                  <DirectionRef>R</DirectionRef>
                  <ojp:Mode>
                    <ojp:PtMode>bus</ojp:PtMode>
                    <BusSubmode>localBusService</BusSubmode>
                    <ojp:Name>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bus</ojp:Text>
                    </ojp:Name>
                    <ojp:ShortName>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">B</ojp:Text>
                    </ojp:ShortName>
                  </ojp:Mode>
                  <ojp:PublishedLineName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">10</ojp:Text>
                  </ojp:PublishedLineName>
                  <ojp:OperatorRef>ojp:827</ojp:OperatorRef>
                  <ojp:Attribute>
                    <ojp:Text>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">VELOS: Platzzahl eingeschr�nkt</ojp:Text>
                    </ojp:Text>
                    <ojp:Code>A__VB</ojp:Code>
                  </ojp:Attribute>
                  <ojp:Attribute>
                    <ojp:Text>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Niederflureinstieg</ojp:Text>
                    </ojp:Text>
                    <ojp:Code>A__NF</ojp:Code>
                    <AccessFacility>palletAccess_lowFloor</AccessFacility>
                  </ojp:Attribute>
                  <ojp:DestinationStopPointRef>8595932</ojp:DestinationStopPointRef>
                  <ojp:DestinationText>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Schliern, Bus-Endstation</ojp:Text>
                  </ojp:DestinationText>
                </ojp:Service>
              </ojp:TimedLeg>
            </ojp:TripLeg>
            <ojp:TripLeg>
              <ojp:LegId>4</ojp:LegId>
              <ojp:TransferLeg>
                <ojp:TransferMode>walk</ojp:TransferMode>
                <ojp:LegStart>
                  <StopPointRef>8576646</StopPointRef>
                  <ojp:LocationName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Bahnhof</ojp:Text>
                  </ojp:LocationName>
                </ojp:LegStart>
                <ojp:LegEnd>
                  <StopPointRef>8576646</StopPointRef>
                  <ojp:LocationName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Bahnhof</ojp:Text>
                  </ojp:LocationName>
                </ojp:LegEnd>
                <ojp:TimeWindowStart>2023-10-02T12:35:36Z</ojp:TimeWindowStart>
                <ojp:TimeWindowEnd>2023-10-02T12:37:48Z</ojp:TimeWindowEnd>
                <ojp:Duration>PT3M</ojp:Duration>
                <ojp:WalkDuration>PT2M</ojp:WalkDuration>
                <ojp:BufferTime>PT0M</ojp:BufferTime>
              </ojp:TransferLeg>
            </ojp:TripLeg>
            <ojp:TripLeg>
              <ojp:LegId>5</ojp:LegId>
              <ojp:TimedLeg>
                <ojp:LegBoard>
                  <StopPointRef>8576646</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Bahnhof</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:PlannedQuay>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">F</ojp:Text>
                  </ojp:PlannedQuay>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:37:48Z</ojp:TimetabledTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>1</ojp:Order>
                </ojp:LegBoard>
                <ojp:LegIntermediates>
                  <StopPointRef>8581351</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Schanzenstrasse</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:39:42Z</ojp:TimetabledTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:39:42Z</ojp:TimetabledTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>2</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegIntermediates>
                  <StopPointRef>8571357</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Universit�t</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:41:18Z</ojp:TimetabledTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:41:18Z</ojp:TimetabledTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>3</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegIntermediates>
                  <StopPointRef>8571358</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Mittelstrasse</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:42:42Z</ojp:TimetabledTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:42:42Z</ojp:TimetabledTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>4</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegIntermediates>
                  <StopPointRef>8590038</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, Unitobler</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:43:48Z</ojp:TimetabledTime>
                  </ojp:ServiceArrival>
                  <ojp:ServiceDeparture>
                    <ojp:TimetabledTime>2023-10-02T12:43:48Z</ojp:TimetabledTime>
                  </ojp:ServiceDeparture>
                  <ojp:Order>5</ojp:Order>
                </ojp:LegIntermediates>
                <ojp:LegAlight>
                  <StopPointRef>8571359</StopPointRef>
                  <ojp:StopPointName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, L�nggasse</ojp:Text>
                  </ojp:StopPointName>
                  <ojp:ServiceArrival>
                    <ojp:TimetabledTime>2023-10-02T12:44:42Z</ojp:TimetabledTime>
                  </ojp:ServiceArrival>
                  <ojp:Order>6</ojp:Order>
                </ojp:LegAlight>
                <ojp:Service>
                  <ojp:OperatingDayRef>2023-10-02</ojp:OperatingDayRef>
                  <ojp:JourneyRef>ojp:92020::R:j23:2215:31326</ojp:JourneyRef>
                  <LineRef>ojp:92020:</LineRef>
                  <DirectionRef>R</DirectionRef>
                  <ojp:Mode>
                    <ojp:PtMode>bus</ojp:PtMode>
                    <BusSubmode>localBusService</BusSubmode>
                    <ojp:Name>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bus</ojp:Text>
                    </ojp:Name>
                    <ojp:ShortName>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">B</ojp:Text>
                    </ojp:ShortName>
                  </ojp:Mode>
                  <ojp:PublishedLineName>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">20</ojp:Text>
                  </ojp:PublishedLineName>
                  <ojp:OperatorRef>ojp:827</ojp:OperatorRef>
                  <ojp:Attribute>
                    <ojp:Text>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">VELOS: Platzzahl eingeschr�nkt</ojp:Text>
                    </ojp:Text>
                    <ojp:Code>A__VB</ojp:Code>
                  </ojp:Attribute>
                  <ojp:Attribute>
                    <ojp:Text>
                      <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Niederflureinstieg</ojp:Text>
                    </ojp:Text>
                    <ojp:Code>A__NF</ojp:Code>
                    <AccessFacility>palletAccess_lowFloor</AccessFacility>
                  </ojp:Attribute>
                  <ojp:DestinationStopPointRef>8571359</ojp:DestinationStopPointRef>
                  <ojp:DestinationText>
                    <ojp:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="de">Bern, L�nggasse</ojp:Text>
                  </ojp:DestinationText>
                </ojp:Service>
              </ojp:TimedLeg>
            </ojp:TripLeg>
          </ojp:Trip>
        </ojp:TripResult>
+

The effective OJPFareRequest then looks like this (whereby we only show the position of the trip and do not fill it in):

<?xml version="1.0" encoding="UTF-8"?>
<OJP xmlns="http://www.siri.org.uk/siri" xmlns:ojp="http://www.vdv.de/ojp" version="1.0">
  <OJPRequest>
    <ServiceRequest>
      <RequestTimestamp>2023-10-02T11:56:11.714265</RequestTimestamp>
      <RequestorRef>OJP2NOVA</RequestorRef>
       <ojp:OJPFareRequest>
        <RequestTimestamp>2023-10-02T11:56:11.714265</RequestTimestamp>
        <ojp:TripFareRequest>
          <ojp:Trip>
			<!-- add the Trip here -->
          </ojp:Trip>
                        <!-- multiple trips possible -->
        </ojp:TripFareRequest>
        <ojp:Params>
          <ojp:FareAuthorityFilter>ch:1:NOVA</ojp:FareAuthorityFilter>
          <ojp:PassengerCategory>Adult</ojp:PassengerCategory>
          <ojp:TravelClass>second</ojp:TravelClass>
          <ojp:Traveller>
            <ojp:Age>25</ojp:Age>
            <ojp:PassengerCategory>Adult</ojp:PassengerCategory>
            <ojp:EntitlementProducts>
               <ojp:EntitlementProduct>
                  <ojp:FareAuthorityRef>ch:1:NOVA</ojp:FareAuthorityRef>
                  <ojp:EntitlementProductRef>HTA</ojp:EntitlementProductRef>
                  <ojp:EntitlementProductName>Halbtax-Abonnement</ojp:EntitlementProductName>
               </ojp:EntitlementProduct>
            </ojp:EntitlementProducts>
          </ojp:Traveller>
        </ojp:Params>
      </ojp:OJPFareRequest>
    </ServiceRequest>
  </OJPRequest>
</OJP>

 

Parameters

Trips are in OJPTripRequest explained. Therefore, the parameters are primarily discussed here

Parameters Explanation Example
oFareAuthorityfilter Currently set to NOVA. Ignored in the service. ojp:FareAuthorityFilter>ch:1:NOVA</ojp:FareAuthorityFilter>
PassengerCategory Choice list. Currently ignored. <ojp:PassengerCategory>Adult</ojp:PassengerCategory>
Traveller More information about the passenger. Currently ignored.
Age The age of the passenger. Currently ignored.
EntitlementProduct At the moment, only the EntitlementProductRef Half Fare Travelcard is supported.

If this is set, Half Fare Travelcard prices are shown. Otherwise, the full price is shown.

The result then looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<ojp:OJPFareDelivery xmlns="http://www.siri.org.uk/siri" xmlns:ojp="http://www.vdv.de/ojp">
  <ResponseTimestamp>2023-10-02T11:56:13.536149</ResponseTimestamp>
  <Status>true</Status>
  <ojp:FareResult>
    <ojp:ResultId>ID-20932163-8A85-4648-80A2-661D2D388361</ojp:ResultId>
    <ojp:TripFareResult>
      <ojp:FromTripLegIdRef>2</ojp:FromTripLegIdRef>
      <ojp:ToTripLegIdRef>2</ojp:ToTripLegIdRef>
      <ojp:FareProduct>
        <ojp:FareProductId>10972</ojp:FareProductId>
        <ojp:FareProductName>10972</ojp:FareProductName>
        <ojp:FareAuthorityRef>NOVA</ojp:FareAuthorityRef>
        <ojp:FareAuthorityText>NOVA</ojp:FareAuthorityText>
        <ojp:Price>2.80</ojp:Price>
        <ojp:NetPrice>2.58</ojp:NetPrice>
        <ojp:Currency>CHF</ojp:Currency>
        <ojp:VatRate>7.7</ojp:VatRate>
        <ojp:TravelClass>second</ojp:TravelClass>
      </ojp:FareProduct>
    </ojp:TripFareResult>
    <ojp:TripFareResult>
      <ojp:FromTripLegIdRef>2</ojp:FromTripLegIdRef>
      <ojp:ToTripLegIdRef>2</ojp:ToTripLegIdRef>
      <ojp:FareProduct>
        <ojp:FareProductId>10972</ojp:FareProductId>
        <ojp:FareProductName>10972</ojp:FareProductName>
        <ojp:FareAuthorityRef>NOVA</ojp:FareAuthorityRef>
        <ojp:FareAuthorityText>NOVA</ojp:FareAuthorityText>
        <ojp:Price>4.80</ojp:Price>
        <ojp:NetPrice>4.43</ojp:NetPrice>
        <ojp:Currency>CHF</ojp:Currency>
        <ojp:VatRate>7.7</ojp:VatRate>
        <ojp:TravelClass>first</ojp:TravelClass>
      </ojp:FareProduct>
    </ojp:TripFareResult>
  </ojp:FareResult>
</ojp:OJPFareDelivery>

 

Important points

  • The price calculation only works for the future.
  • Only public transport legs can be evaluated.
  • The price information also includes supersaver tickets, if they exist. Standard-fare tickets have the code 125. For example, BLS uses the product code 84004 for Bern–Zweisimmen.
  • If On Demand, Sharing etc. is listed on the trip, the behaviour is not fully defined at the moment. It is generally stated that not all legs could be priced.
  • Until now, the half-price calculation was fixed. Now it’s different. A corresponding traveller with the EntitalementProduct is now required.

Known issues

  • At present, the data is obtained from the NOVA integration environment.
  • The error messages are not optimal.
  • The Half Fare Travelcard price (Half Fare Travelcard as EntitlementProduct) is currently permanently encoded in the service. We are considering removing this. However, the EntitlementProduct must then be inserted. The age will be adopted. However, the price will also be set to ‘Person’.
  • In some cases, you switch to a Day Pass. E.g. because there is no first-class ticket. In this case, you may find a discounted Day Pass under code 2361. This must be filtered.
  • Prices are not given for stops abroad (e.g. also not Léman Express)

Further information