Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This page contains documentation of how Noptis (DOI) data is converted to Netex (the Nordic Profile).

_shared_data.xml

...

breakoutModefull-width
languagexml

...

on how Samtrafiken exports data in the NeTEx format according to the Nordic NeTEx Profile. It also shows how this NeTEx export is mapped from Noptis (DOI/DII) data (see https://www.

...

noptis.com/), which is the format that many PTA:s use to deliver their data to Samtrafiken.

If you are using Samtrafiken’s NeTEx sales data (used for sales through Samtrafiken ACCESS) then you should also read the specific documentation for that dataset here: https://samtrafiken.atlassian.net/wiki/x/GYCOzQ.

Changelog of this documentation

2024-02-12 - Added the two fields JourneyPart.StartTimeDayOffset and JourneyPart.EndTimeDayOffset with explanations.

2024-11-27 - Added TopographicPlaces in _stops.xml. Several european countries, and for Sweden all counties and municipalities are included.

ServiceCalendar, DayType, OperatingPeriod and DayTypeAssignment

The ServiceCalendar information is specified using DayTypes with PropertyOfDay specifying which DaysOfWeek that the service runs (N.B: In some cases this can also be empty).

An OperatingPeriod is connected to the DayType using a DayTypeAssignment, thereby specifying during which period the DayType is valid.

Finally, to handle exceptional days (added or excluded dates) additional DayTypeAssignments are connected to the DayType, specifying additional dates as either added (the default) or excluded (marked by setting <isAvailable>false</isAvailable>).

Note: The OperatingPeriod is valid up to the datetime specified in the ToDate, but NOT including that time, see the example below:

Code Block
languagexml
<OperatingPeriod version="any" id="SE:253:OperatingPeriod:221108221209">
  <FromDate>2022-11-08T00:00:00</FromDate>
  <ToDate>2022-12-10T00:00:00</ToDate>
  <!-- N.B: The ToDate is actually the time when the OperatingPeriod stops being valid.
       This means that the period is valid up to this time, but NOT including this time. 
       So the last possible trip would depart on 2022-12-09 23:59:59 -->
</OperatingPeriod>

_shared_data.xml

This is an example of the file _shared_data.xml with explanations on how the different fields and elements are mapped to the Noptis format.

Code Block
breakoutModefull-width
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:ns2="http://www.opengis.net/gml/3.2" xmlns:ns3="http://www.siri.org.uk/siri">
    <PublicationTimestamp>2019-11-27T12:50:21</PublicationTimestamp> <!-- Timestamp of export -->
    <ParticipantRef>SAM</ParticipantRef>
    <dataObjects>
        <CompositeFrame created="2019-11-27T12:50:21" version="20191127125021" id="SE:253:CompositeFrame:1"> <!-- Version is timestamp of export, id is always 1 -->
            <ValidBetween>
                <FromDate>2005-01-01T00:00:00</FromDate> <!-- Always set to 2005-01-01 -->
            </ValidBetween>
            <codespaces>
                <Codespace id="253"> <!-- id is same as Xmlns -->
                    <Xmlns>253</Xmlns> <!-- From Samtrafiken's registry of producer numbers, based on data source -->
                    <XmlnsUrl>http://www.samtrafiken.se/ns/Östgötatrafiken</XmlnsUrl> <!-- "Östgötatrafiken" is based on data source -->
                </Codespaced>
            </codespaces>
            <FrameDefaults>
                <DefaultLocale>
                    <TimeZone>Europe/Stockholm</TimeZone>
                    <DefaultLanguage>se</DefaultLanguage>
                </DefaultLocale>
                <DefaultLocationSystem>4326</DefaultLocationSystem> <!-- All coordinates are WGS84 -->
            </FrameDefaults>
            <frames>
                <ResourceFrame version="20191127125021" id="SE:253:ResourceFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is always 1 -->
                    <organisations>
                        <!-- Authority is based on Noptis.TransportAuthority -->
                        <Authority version="20131206" id="SE:253:Authority:9010005000000000"> <!-- version=Noptis.TransportAuthority.ExistsFromDate, id=Noptis.TransportAuthority.Gid -->
                            <ValidBetween>
                                <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.TransportAuthority.ExistsFromDate -->
                                <!-- ToDate = Noptis.TransportAuthority.ExistsToDate, in this case "ExistsToDate" is null -->
                            </ValidBetween>
                            <PrivateCode>253</PrivateCode>
                            <Name>Östgötatrafiken</Name> <!-- Noptis.TransportAuthority.Name -->
                            <LegalName>Östgötatrafiken</LegalName> <!-- Noptis.Organisation.FormalName -->
                            <OrganisationType>authority</OrganisationType> <!-- Always "authority" -->
                        </Authority>
                        <!-- More Authority elements -->
                        <!-- Operator is based on Noptis.Contractor -->
                        <Operator version="20131211" id="SE:253:Operator:9013005918200000"> <!-- version=Noptis.Contractor.ExistsFromDate, id=Noptis.Contractor.Gid -->
                            <ValidBetween>
                                <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.Contractor.ExistsFromDate -->
                                <!-- ToDate = Noptis.Contractor.ExistsToDate, in this case "ExistsToDate" is null -->
                            </ValidBetween>
                            <Name>eBuss Motala</Name> <!-- Noptis.Contractor.Name -->
                            <LegalName>eBuss i Sverige AB</LegalName> <!-- Noptis.Organisation.FormalName -->
                            <OrganisationType>operator</OrganisationType> <!-- Always "operator" -->
                        </Operator>
                        <!-- More Operator elements -->
                    </organisations>
                </ResourceFrame>
                <ServiceFrame version="20191127125021" id="SE:253:ServiceFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is always 1 -->
                    <!-- Each unique Noptis.Line.IsDefinedByTransportAuthority will create a Network with the AuthorityRef. In this case there is only one, 
                    additional Networks would be placed in an "additionalNetworks" element. -->
                    <Network version="20131206" id="SE:253:Network:9010005000000000"> <!-- version=Noptis.TransportAuthority.ExistsFromDate, id=Noptis.TransportAuthority.Gid -->
                        <Name>Östgötatrafiken</Name> <!-- Noptis.TransportAuthority.Name -->
                        <AuthorityRef ref="SE:253:Authority:9010005000000000" version="20131206"/>
                        <!-- WIP, Netex.GroupOfLines is based on Noptis.GroupOfLines -->
                        <groupsOfLines>
                            <GroupOfLines version="1" id="SE:253:GroupOfLines:1">
                                <ValidBetween>
                                    <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.GroupOfLines.ExistsFromDate -->
                                    <!-- ToDate = Noptis.GroupOfLines.ExistsToDate, in this case "ExistsToDate" is null -->
                                </ValidBetween>
                                <Name>Spårvagn</Name> <!-- Noptis.GroupOfLines.Name -->
                                <PrivateCode>SPV</PrivateCode> <!-- Noptis.GroupOfLine.Code -->
                                <members>
                                    <LineRef ref="SE:253:Line:9011005005300000"/> <!-- Based on Noptis.LineInGroupOfLines -->
                                </members>
                            </GroupOfLines>
                        </groupsOfLines>
                    </Network>
                    <routePoints>
                        <!-- RoutePoint, ScheduledStopPoint, PassengerStopAssignment are all based on Noptis.StopPoint -->
                        <RoutePoint version="20190426" id="SE:253:RoutePoint:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid -->
                            <projections>
                                <PointProjection version="20190426" id="SE:253:PointProjection:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid -->
                                    <ProjectedPointRef ref="SE:253:ScheduledStopPoint:9022005000001001" version="20190426"/>
                                </PointProjection>
                            </projections>
                        </RoutePoint>
                        <!-- More RoutePoint elements -->
                    </routePoints>
                    <destinationDisplays>
                        <!-- DestinationDisplay is based on Noptis.DestinationDisplay -->
                        <!-- DestinationDisplays that are used as "via" are created from each Noptis.DestinationDisplay.SecondaryDestinationName. Theses elements are recognized by having "via_" prepended to their id.
                        In the example below, both DestinationDisplay elements are created from the same Noptis.DestinationDisplay. -->
                        <DestinationDisplay version="any" id="SE:253:DestinationDisplay:via_55700000037211691"> <!-- id=Noptis.DestinationDisplay.Id -->
                            <FrontText>Västerlösa</FrontText> <!-- Noptis.DestinationDisplay.SecondaryDestinationName -->
                            <PublicCode>573</PublicCode> <!-- Noptis.DestinationDisplay.LineDesignation -->
                        </DestinationDisplay>
                        <DestinationDisplay version="any" id="SE:253:DestinationDisplay:55700000037211691"> <!-- id=Noptis.DestinationDisplay.Id -->
                            <FrontText>Malmslätt</FrontText> <!-- Noptis.DestinationDisplay.PrimaryDestinationName -->
                            <PublicCode>573</PublicCode> <!-- Noptis.DestinationDisplay.LineDesignation -->
                            <vias>
                                <Via>
                                    <DestinationDisplayRef ref="SE:253:DestinationDisplay:via_55700000037211691" version="any"/>
                                </Via>
                            </vias>
                        </DestinationDisplay>
                        <!-- More DestinationDisplay elements -->
                    </destinationDisplays>
                    <scheduledStopPoints>
                        <!-- RoutePoint, ScheduledStopPoint, PassengerStopAssignment are all based on Noptis.StopPoint -->
                        <ScheduledStopPoint version="20190426" id="SE:253:ScheduledStopPoint:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid -->
                            <Name>Norr Tull</Name> <!-- Noptis.StopPoint.Name -->
                        </ScheduledStopPoint>
                        <!-- More ScheduledStopPoint elements -->
                    </scheduledStopPoints>
                    <serviceLinks>
                        <!-- ServiceLink is based on Noptis.RouteLink -->
                        <ServiceLink version="20190213" id="SE:253:ServiceLink:BUS_9025005000136402_9025005000005702"> <!-- version=Noptis.RouteLink.ExistsFromDate, 
                            id=Noptis.RouteLinkTraversableByTransportModeCode.TransportModeCode + Noptis.RouteLink.StartsAtJourneyPatternPointGid + Noptis.RouteLink.EndsAtJourneyPatternPointGid -->
                            <ValidBetween>
                                <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.RouteLink.ExistsFromDate -->
                                <!-- ToDate = Noptis.RouteLink.ExistsToDate, in this case "ExistsToDate" is null -->
                            </ValidBetween>
                            <Distance>338</Distance> <!-- Noptis.RouteLink.DistanceMeters -->
                            <projections>
                                <LinkSequenceProjection version="20190213" id="SE:253:LinkSequenceProjection:BUS_9025005000136402_9025005000005702"> <!-- Same ID as parent ServiceLink -->
                                    <ns2:LineString srsName="4326" ns2:id="LS_BUS_9025005000136402_9025005000005702"> <!-- Same ID as parent ServiceLink but with "LS_" prepended -->
                                        <ns2:posList count="30" srsDimension="2">58.666991 16.180848 58.666982 16.180848 58.66691 16.180899 58.666703 16.181034 58.666325 16.181358 58.666109 16.181545 58.665821 16.1818 58.665749 16.181834 58.665651 16.181833 58.665624 16.181833 58.665328 16.181743 58.664978 16.18155 58.664593 16.181253 58.664494 16.181166 58.664154 16.180869</ns2:posList> 
                                        <!-- Each coordinate pair is created from one Noptis.PointOnRouteLink -->
                                    </ns2:LineString>
                                </LinkSequenceProjection>
                            </projections>
                            <FromPointRef ref="SE:253:ScheduledStopPoint:9022005001364002" version="20190426"/> <!-- Noptis.RouteLink.StartsAtJourneyPatternPointGid -->
                            <ToPointRef ref="SE:253:ScheduledStopPoint:9022005000057002" version="20190426"/> <!-- Noptis.RouteLink.EndsAtJourneyPatternPointGid -->
                            <VehicleMode>bus</VehicleMode> <!-- See the section "General Noptis to Netex mappings" below -->
                        </ServiceLink>
                        <!-- More ServiceLink elements -->
                    </serviceLinks>
                    <stopAssignments>
                        <!-- RoutePoint, ScheduledStopPoint, PassengerStopAssignment are all based on Noptis.StopPoint -->
                        <PassengerStopAssignment order="0" version="20190426" id="SE:253:PassengerStopAssignment:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid, "order" is always 0 -->
                            <ScheduledStopPointRef ref="SE:253:ScheduledStopPoint:9022005000001001" version="20190426"/>
                            <QuayRef ref="SE:253:Quay:9022005000001001"/>
                        </PassengerStopAssignment>
                        <!-- More PassengerStopAssignment elements -->
                    </stopAssignments>
                    <notices>
                        <!-- Notice is based on Noptis.AdvanceOrderCondition -->
                        <Notice version="any" id="SE:253:Notice:55700000050931583"> <!-- id=Noptis.AdvanceOrderCondition.Id -->
                            <Text>Turen måste förbeställas på 0771 - 71 10 20 senast 2 timmar före avresa från turens starthållplats.</Text> <!-- Noptis.AdvanceOrderCondition.PublicNote -->
                        </Notice>
                        <!-- More Notice elements -->
                <CompositeFrame created="2019-11-27T12:50:21" version="20191127125021" id="SE:253:CompositeFrame:1"> <!--/notices>
Version is timestamp of export, id is always 1 -->       </ServiceFrame>
     <ValidBetween>           <ServiceCalendarFrame      <FromDate>2005-01-01T00:00:00</FromDate>version="20191127125021" id="SE:253:ServiceCalendarFrame:1"> <!-- AlwaysVersion is settimestamp to 2005-01-01 -->
    of export (YYYYMMDDHHmmSS), id is always 1 -->
       </ValidBetween>             <codespaces><!-- The content of ServiceCalendarFrame is created based on Noptis.DatedVehicleJourney.OperatingDayDate but a pattern of runnings days and <Codespace id="253"> <!-- id is same as Xmlns -->operating period is constructed to represent that data.
                    Each <Xmlns>253</Xmlns> <!-- From Samtrafiken's registryunique combination of operating days of producer numbers, based on data sourcea Noptis.VehicleJourney will create one DayType. -->
                    <XmlnsUrl>http://www.samtrafiken.se/ns/Östgötatrafiken</XmlnsUrl> <!-- "Östgötatrafiken" is based on data source --><dayType
                        </Codespaced>
 <DayType version="any" id="SE:253:DayType:a33m5mgb2thf88dnl75h8a8jt21i3iqu">
          </codespaces>             <FrameDefaults>   <properties>
             <DefaultLocale>               <PropertyOfDay>
     <TimeZone>Europe/Stockholm</TimeZone>                     <DefaultLanguage>se</DefaultLanguage>    <DaysOfWeek>Monday Tuesday Wednesday           </DefaultLocale>Thursday Friday</DaysOfWeek>
                <DefaultLocationSystem>4326</DefaultLocationSystem> <!-- All coordinates are WGS84 -->      </PropertyOfDay>
      </FrameDefaults>             <frames>       </properties>
         <ResourceFrame version="20191127125021" id="SE:253:ResourceFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is always 1 --> </DayType>
                   <organisations>     <DayType version="any" id="SE:253:DayType:4vfuvln5ed1bte5nrbf56qees9vakerf">
                 <!-- Authority is based on Noptis.TransportAuthority -->   <properties>
                     <Authority version="20131206" id="SE:253:Authority:9010005000000000"> <!-- version=Noptis.TransportAuthority.ExistsFromDate, id=Noptis.TransportAuthority.Gid --> <PropertyOfDay>
                           <ValidBetween>   <DaysOfWeek>Saturday Sunday</DaysOfWeek>
                            <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.TransportAuthority.ExistsFromDate --></PropertyOfDay>
                          </properties>          <!-- ToDate = Noptis.TransportAuthority.ExistsToDate, in this case "ExistsToDate" is null -->    
                        </ValidBetween>DayType>
                    </dayTypes>
        <Name>Östgötatrafiken</Name> <!-- Noptis.TransportAuthority.Name -->         <operatingPeriods>
                   <LegalName>Östgötatrafiken</LegalName> <!-- Noptis.Organisation.FormalName -->  <OperatingPeriod version="any" id="SE:253:OperatingPeriod:221108221209">
                        <OrganisationType>authority</OrganisationType> <!-- Always "authority" <FromDate>2022-->11-08T00:00:00</FromDate>
                         </Authority>   <ToDate>2022-12-10T00:00:00</ToDate><!-- N.B: The period is valid up-to this time, but NOT including this time. So the last possible trip would depart on <!2022-12- More Authority elements09 23:59:59 -->
                        <!-- Operator is based on Noptis.Contractor -->/OperatingPeriod>
                        <Operator<OperatingPeriod version="20131211any" id="SE:253:OperatorOperatingPeriod:9013005918200000221212230331">
<!-- version=Noptis.Contractor.ExistsFromDate, id=Noptis.Contractor.Gid -->                         <FromDate>2022-12-12T00:00:00</FromDate>
   <ValidBetween>                          <ToDate>2023-04-01T00:00:00</ToDate>
      <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.Contractor.ExistsFromDate -->               </OperatingPeriod>
                 <!-- ToDate = Noptis.Contractor.ExistsToDate, in this case "ExistsToDate" is null --> </operatingPeriods>                    
               </ValidBetween>     <dayTypeAssignments>
                       <Name>eBuss Motala</Name> <!-- Noptis.Contractor.Name --<DayTypeAssignment order="1" version="any" id="SE:253:DayTypeAssignment:a33m5mgb2thf88dnl75h8a8jt21i3iqu">
                            <LegalName>eBuss i Sverige AB</LegalName> <!-- Noptis.Organisation.FormalName --<OperatingPeriodRef ref="SE:253:OperatingPeriod:221108221209" version="any"/>
                            <OrganisationType>operator</OrganisationType> <!-- Always "operator" --<DayTypeRef ref="SE:253:DayType:a33m5mgb2thf88dnl75h8a8jt21i3iqu" version="any"/>
                        </Operator>DayTypeAssignment>
                        <DayTypeAssignment order="1"  <!-- More Operator elements -->version="any" id="SE:253:DayTypeAssignment:4vfuvln5ed1bte5nrbf56qees9vakerf">
                        </organisations>    <OperatingPeriodRef ref="SE:253:OperatingPeriod:221212230331" version="any"/>
          </ResourceFrame>                 <ServiceFrame version="20191127125021" id<DayTypeRef ref="SE:253:ServiceFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is always 1 -->DayType:4vfuvln5ed1bte5nrbf56qees9vakerf" version="any"/>
                        </DayTypeAssignment>
        <!-- Each unique Noptis.Line.IsDefinedByTransportAuthority will create a Network with the AuthorityRef. In this case there is only one, 
<DayTypeAssignment order="2" version="any" id="SE:253:DayTypeAssignment:4vfuvln5ed1bte5nrbf56qees9vakerf_221226">
                   additional Networks would be placed in an "additionalNetworks" element. <Date>2022-->12-26</Date>
                           <Network version="20131206" id<DayTypeRef ref="SE:253:NetworkDayType:9010005000000000"> <!-- version=Noptis.TransportAuthority.ExistsFromDate, id=Noptis.TransportAuthority.Gid -->
      4vfuvln5ed1bte5nrbf56qees9vakerf" version="any"/>
                 <Name>Östgötatrafiken</Name> <!-- Noptis.TransportAuthority.Name -->       </DayTypeAssignment>                  <AuthorityRef ref="SE:253:Authority:9010005000000000" version="20131206"/>    
                    <!-- WIP, Netex.GroupOfLines is based on Noptis.GroupOfLines --><DayTypeAssignment order="3" version="any" id="SE:253:DayTypeAssignment:4vfuvln5ed1bte5nrbf56qees9vakerf_230107">
                           <groupsOfLines> <Date>2023-01-07</Date>
                           <GroupOfLines version="1" id<DayTypeRef ref="SE:253:GroupOfLines:1">DayType:4vfuvln5ed1bte5nrbf56qees9vakerf" version="any"/>
                            <isAvailable>false</isAvailable>
          <ValidBetween>              </DayTypeAssignment>
                       <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.GroupOfLines.ExistsFromDate More DayTypeAssignment elements -->
                    </dayTypeAssignments>
                <!-- ToDate = Noptis.GroupOfLines.ExistsToDate, in this case "ExistsToDate" is null -->
 /ServiceCalendarFrame>
            </frames>
        </CompositeFrame>
    </dataObjects>
</PublicationDelivery>

_stops.xml

This is a shortened example of the file _stops.xml with explanations on how the different fields and elements are mapped to the Noptis format.

Code Block
breakoutModefull-width
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:ns2="http://www.opengis.net/gml/3.2" xmlns:ns3="http://www.siri.org.uk/siri">
    <PublicationTimestamp>2019-11-27T12:50:21</PublicationTimestamp> <!-- Timestamp of </ValidBetween>
export -->
    <ParticipantRef>SAM</ParticipantRef>
    <dataObjects>
        <SiteFrame version="20191127125021" id="SE:253:SiteFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is  <Name>Spårvagn</Name> <!-- Noptis.GroupOfLines.Namealways 1 -->
            <ValidBetween>
                   <PrivateCode>SPV</PrivateCode><FromDate>2005-01-01T00:00:00</FromDate> <!-- Noptis.GroupOfLine.Code Always set to 2005-01-01 -->
            </ValidBetween>
            <codespaces>
      <members>                                     <LineRef ref="SE:253:Line:9011005005300000"/<Codespace id="253"> <!-- Basedid onis Noptis.LineInGroupOfLines -->
       same as Xmlns -->
                    <Xmlns>253</Xmlns> <!-- From  </members>
       Samtrafiken's registry of producer numbers, based on data source -->
                    </GroupOfLines>
       <XmlnsUrl>http://www.samtrafiken.se/ns/Östgötatrafiken</XmlnsUrl> <!-- "Östgötatrafiken" is based on data source -->
                </groupsOfLines>Codespace>
            </codespaces>
       </Network>     <FrameDefaults>
               <routePoints> <DefaultLocale>
                    <TimeZone>Europe/Stockholm</TimeZone>
  <!-- RoutePoint, ScheduledStopPoint, PassengerStopAssignment are all based on Noptis.StopPoint -->         <DefaultLanguage>se</DefaultLanguage>
               <RoutePoint version="20190426" id="SE:253:RoutePoint:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid --> </DefaultLocale>
                <DefaultLocationSystem>4326</DefaultLocationSystem> <!-- All coordinates are WGS84 -->
          <projections>  </FrameDefaults>
            <topographicPlaces>
                <TopographicPlace <PointProjection version="20190426any" id="SE:253005:PointProjectionTopographicPlace:9022005000001001NO">
<!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid -->                    <IsoCode>NO</IsoCode>
                    <ProjectedPointRef ref="SE:253:ScheduledStopPoint:9022005000001001" version="20190426"/><Descriptor>
                        <Name>Norway</Name>
         </PointProjection>           </Descriptor>
                 </projections>   <TopographicPlaceType>country</TopographicPlaceType>
                    <CountryRef </RoutePoint>
       ref="no"/>
                <!--/TopographicPlace>
More RoutePoint elements -->              <TopographicPlace version="any" id="SE:005:TopographicPlace:SE">
    </routePoints>                <IsoCode>SE</IsoCode>
    <destinationDisplays>                  <Descriptor>
      <!-- DestinationDisplay is based on Noptis.DestinationDisplay -->            <Name>Sweden</Name>
            <!-- DestinationDisplays that are used as "via" are created</Descriptor>
from each Noptis.DestinationDisplay.SecondaryDestinationName. Theses elements are recognized by having "via_" prepended to their id.       <TopographicPlaceType>country</TopographicPlaceType>
                 In the example below, both DestinationDisplay elements are created from the same Noptis.DestinationDisplay. --><CountryRef ref="se"/>
                </TopographicPlace>
                <DestinationDisplay<TopographicPlace version="any" id="SE:253005:DestinationDisplayTopographicPlace:viaSE_557000000372116911"> <!-- id=Noptis.DestinationDisplay.Id -->
                    <PrivateCode>01</PrivateCode>
                    <FrontText>Västerlösa<<IsoCode>SE-01</FrontText>IsoCode>
<!-- Noptis.DestinationDisplay.SecondaryDestinationName -->                  <Descriptor>
          <PublicCode>573</PublicCode> <!-- Noptis.DestinationDisplay.LineDesignation -->           <Name>Stockholms län</Name>
            </DestinationDisplay>        </Descriptor>
                <DestinationDisplay version="any" id="SE:253:DestinationDisplay:55700000037211691"> <!-- id=Noptis.DestinationDisplay.Id --> <TopographicPlaceType>county</TopographicPlaceType>
                    <CountryRef ref="se"/>
       <FrontText>Malmslätt</FrontText> <!-- Noptis.DestinationDisplay.PrimaryDestinationName -->          <ParentTopographicPlaceRef ref="SE:005:TopographicPlace:SE" version="any"/>
                <PublicCode>573<</PublicCode> <!-- Noptis.DestinationDisplay.LineDesignation -->TopographicPlace>
                <TopographicPlace version="any" id="SE:005:TopographicPlace:SE_0160">
             <vias>       <PrivateCode>0160</PrivateCode>
                    <Descriptor>
    <Via>                    <Name>Täby kommun</Name>
               <DestinationDisplayRef ref="SE:253:DestinationDisplay:via_55700000037211691" version="any"/>   </Descriptor>
                    <TopographicPlaceType>municipality</TopographicPlaceType>
        </Via>            <CountryRef ref="se"/>
               </vias>     <ParentTopographicPlaceRef ref="SE:005:TopographicPlace:SE_1" version="any"/>
                 </DestinationDisplay>TopographicPlace>
                <TopographicPlace version="any" id="SE:005:TopographicPlace:SE_0162">
     <!-- More DestinationDisplay elements -->           <PrivateCode>0162</PrivateCode>
         </destinationDisplays>           <Descriptor>
         <scheduledStopPoints>               <Name>Danderyds kommun</Name>
        <!-- RoutePoint, ScheduledStopPoint, PassengerStopAssignment are all based on Noptis.StopPoint -->   </Descriptor>
                    <TopographicPlaceType>municipality</TopographicPlaceType>
<ScheduledStopPoint version="20190426" id="SE:253:ScheduledStopPoint:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid -->              <CountryRef ref="se"/>
             <Name>Norr Tull</Name> <!-- Noptis.StopPoint.Name -->   <ParentTopographicPlaceRef     ref="SE:005:TopographicPlace:SE_1" version="any"/>
                </ScheduledStopPoint>
       TopographicPlace>
                <!-- More ScheduledStopPointTopographicPlace elements. -->All counties and municipalities in Sweden -->               </scheduledStopPoints> 
            </topographicPlaces>
      <serviceLinks>                         <groupsOfStopPlaces> <!-- ServiceLinkGroupOfStopPlace is based on Noptis.RouteLinkSite -->
                        <ServiceLink <GroupOfStopPlaces version="2019021320120623" id="SE:253001:ServiceLink:BUS_9025005000136402_9025005000005702GroupOfStopPlaces:9091001000000103"> <!-- version=Noptis.RouteLinkSite.ExistsFromDate, 
                            id=Noptis.RouteLinkTraversableByTransportModeCode.TransportModeCode + Noptis.RouteLink.StartsAtJourneyPatternPointGid + Noptis.RouteLink.EndsAtJourneyPatternPointGidSite.Gid -->
    
                       <ValidBetween>
                                <FromDate>2019-02-13T00<FromDate>2012-06-23T00:00:00</FromDate> <!-- Noptis.RouteLinkSite.ExistsFromDate -->
                    </ValidBetween>
           <!-- ToDate = Noptis.RouteLink.ExistsToDate, in this case "ExistsToDate" is null<Name>Nämdöböte</Name> <!--> Noptis.Site.Name -->
                         <Description>Nämdö</Description> </ValidBetween>
 !-- Noptis.Site.PublicNote -->
                          <Distance>338</Distance><PrivateCode>103</PrivateCode> <!-- Noptis.RouteLinkSite.DistanceMetersNumber -->
                    <members>
       <projections>                 <!-- StopPlaceRefs are based on Noptis.SiteNeighbouringStopArea -->
         <LinkSequenceProjection version="20190213" id="SE:253:LinkSequenceProjection:BUS_9025005000136402_9025005000005702"> <!-- Same ID as parent ServiceLink -->      <StopPlaceRef ref="SE:001:StopPlace:9021001000103000" version="20210224"/> <!-- ref=Noptis.StopArea.Gid, version=Noptis.StopArea.ExistsFromDate -->
                        <ns2:LineString<StopPlaceRef srsNameref="4326SE:001:StopPlace:9021005000001000" ns2:idversion="LS_BUS_9025005000136402_9025005000005702"20161213"/> <!-- Same ID as parent ServiceLink but with "LS_" prepended ref=Noptis.StopArea.Gid, version=Noptis.StopArea.ExistsFromDate -->
                    </members>
                   <ns2:posList count="30" srsDimension="2">58.666991 16.180848 58.666982 16.180848 58.66691 16.180899 58.666703 16.181034 58.666325 16.181358 58.666109 16.181545 58.665821 16.1818 58.665749 16.181834 58.665651 16.181833 58.665624 16.181833 58.665328 16.181743 58.664978 16.18155 58.664593 16.181253 58.664494 16.181166 58.664154 16.180869</ns2:posList> <Centroid>
                        <Location srsName="WGS84"> <!-- Noptis.Site.CoordinateSystemName -->
                            <Longitude>18.739921</Longitude> <!-- Each coordinate pair is created from one Noptis.PointOnRouteLink --> Noptis.Site.CentroidEastingCoordinate -->
                            <Latitude>59.208826</Latitude> <!-- Noptis.Site.CentroidNorthingCoordinate -->
            </ns2:LineString>            </Location>
                    </LinkSequenceProjection>Centroid>
                </GroupOfStopPlaces>
            </projections>groupsOfStopPlaces>
            <stopPlaces> <!-- StopPlace is based on Noptis.StopArea -->
                <StopPlace <FromPointRef refversion="20161213" id="SE:253:ScheduledStopPoint:9022005001364002" version="20190426"/StopPlace:9021005000001000"> <!-- Noptis.RouteLink.StartsAtJourneyPatternPointGid-- version=Noptis.StopArea.ExistsFromDate, id=Noptis.StopArea.Gid -->
                    <ValidBetween>
                       <ToPointRef ref="SE:253:ScheduledStopPoint:9022005000057002" version="20190426"/> <FromDate>2016-12-13T00:00:00</FromDate> <!-- Noptis.RouteLinkStopArea.EndsAtJourneyPatternPointGidExistsFromDate -->
                        <!-- ToDate = Noptis.StopArea.ExistsToDate, in this case "ExistsToDate" is <VehicleMode>bus</VehicleMode>null <!-- See the section "General Noptis to Netex mappings" below -->
 >
                    </ValidBetween>
                    <Name>Norr Tull</Name> </ServiceLink>
 !-- Noptis.StopArea.Name -->
                    <ShortName>Norr Tull</ShortName> <!-- More ServiceLink elements Noptis.StopArea.ShortName -->
                    <<PrivateCode>1</serviceLinks>PrivateCode>       <!-- Noptis.StopArea.Number -->
             <stopAssignments>       <Centroid>
                 <!-- RoutePoint, ScheduledStopPoint, PassengerStopAssignment are all based on<Location>
Noptis.StopPoint -->                         <PassengerStopAssignment order="0" version="20190426" id="SE:253:PassengerStopAssignment:9022005000001001"> <Longitude>16.176723</Longitude> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid, "order" is always 0StopArea.CentroidEastingCoordinate -->
                            <ScheduledStopPointRef ref="SE:253:ScheduledStopPoint:9022005000001001" version="20190426"/>
  <Latitude>58.594850</Latitude> <!-- Noptis.StopArea.CentroidNorthingCoordinate -->
                         <QuayRef ref="SE:253:Quay:9022005000001001"/>
 </Location>
                      </PassengerStopAssignment>Centroid>
                    <TopographicPlaceRef ref="SE:005:TopographicPlace:SE_0160" version="any"/>  <!-- MoreStops PassengerStopAssignmentin elementsSweden -->are linked to their Municipality. Stops in other countries are linked to their Country. -->
      </stopAssignments>              <OrganisationRef ref="SE:253:Authority:9010005000000000"/> <!--   Noptis.StopArea.IsDefinedByTransportAuthortiy -->
 <notices>                       <entrances>  <!-- NoticeEntrances isare based on Noptis.AdvanceOrderConditionStationEntrancePoint -->
                        <Notice<StopPlaceEntrance version="any20120623" id="SE:253275:NoticeStopPlaceEntrance:557000000509315839023001006651001"> <!-- version=Noptis.StationEntrancePoint.ExistsFromDate, id=Noptis.AdvanceOrderConditionStationEntrancePoint.IdGid -->
                            <ValidBetween>
              <Text>Turen   måste förbeställas  0771 - 71 10 20 senast 2 timmar före avresa från turens starthållplats.</Text> <FromDate>2014-03-11T00:00:00</FromDate>  <!-- Noptis.AdvanceOrderCondition.PublicNote.StationEntrancePoint.ExistsFromDate but not earlier than parent StopPlace.FromDate -->
                         </Notice>       <!-- ToDate = Noptis.StationEntrancePoint.ExistsToDate, in this case "ExistsToDate" is null, not later than parent StopPlace.ToDate -->
   <!-- More Notice elements -->                     </notices>ValidBetween>
                      </ServiceFrame>      <Name>Djursholms Ösby</Name> <!-- Noptis.StationEntrancePoint.Name -->
      <ServiceCalendarFrame version="20191127125021" id="SE:253:ServiceCalendarFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is always 1 -->        <Centroid>
            <!-- The content of ServiceCalendarFrame is created based on Noptis.DatedVehicleJourney.OperatingDayDate. Each unique combination of operating days of a Noptis.VehicleJourney will create<Location>
one DayType.                     The DayType contains each Noptis.DatedVehicleJourney.OperatingDayDate as a DayTypeAssignment. OperatingPeriods or exceptions (DayTypeAssignment.isAvailable) are NOT used<Longitude>18.058320</Longitude> <!--> Noptis.StationEntrancePoint.LocationEastingCoordinate -->
                  <dayType                  <Latitude>59.397925</Latitude> <!-- Noptis.StationEntrancePoint.LocationNorthingCoordinate -->
   <DayType version="any" id="SE:253:DayType:1"/>                         <DayType version="any" id="SE:253:DayType:2"/> </Location>
                        <DayType version="any" id="SE:253:DayType:3"/>  </Centroid>
                      <DayType version="any" id="SE:253:DayType:4"/> </StopPlaceEntrance>
                        <DayType version="any" id="SE:253:DayType:5"/>
     <!-- More StopPlaceEntrance elements -->
                  <DayType version="any" id="SE:253:DayType:6"/> </entrances>
                    <TransportMode>bus</TransportMode> <!-- See the <DayTypesection version="any" id="SE:253:DayType:7"/>
    General Noptis to Netex mappings" below -->
                   <DayType version="any" id="SE:253:DayType:8"/> <tariffZones>
                        <DayType<TariffZoneRef versionref="anySE:005:TariffZone:9081005201004216" idversion="SE:253:DayType:9160620"/> <!-- Tariff zones this stop area belongs to , Noptis.JourneyPatternPointInZone aggregated on StopArea            <DayType version="any" id="SE:253:DayType:10"/>
    level -->
                   <DayType version="any" id="SE:253:DayType:11"/> </tariffZones>
                    <StopPlaceType>busStation</StopPlaceType> <!-- See the <DayTypesection version="any" id="SE:253:DayType:12"/>
     General Noptis to Netex mappings" below -->
                  <DayType version="any" id="SE:253:DayType:13"/>
           <Weighting>interchangeAllowed</Weighting> <!-- See the section "General Noptis to Netex mappings" below -->
         </dayTypes>           <quays> <!-- Quay is based on Noptis.StopPoint and Noptis.JourneyPatternPoint -->
<dayTypeAssignments>                         <DayTypeAssignment order="1"<Quay version="any20180419" id="SE:253:DayTypeAssignment:1-20191125">Quay:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid -->
                            <ValidBetween>
 <Date>2019-11-25</Date>                              <DayTypeRef ref="SE:253:DayType:1" version="any"/>
         <FromDate>2019-04-26T00:00:00</FromDate> <!-- Noptis.StopPoint.ExistsFromDate but not earlier than parent StopPlace.FromDate -->
               </DayTypeAssignment>                 <!-- ToDate = Noptis.StopPoint.ExistsToDate, in this   <DayTypeAssignmentcase order="2ExistsToDate" version="any" id="SE:253:DayTypeAssignment:1-20191126">
        is null, not later than parent StopPlace.ToDate -->
                   <Date>2019-11-26</Date>                         </ValidBetween>
   <DayTypeRef ref="SE:253:DayType:1" version="any"/>                       <Name>Norr  </DayTypeAssignment>Tull</Name> <!-- Noptis.StopPoint.Name -->
                            <ShortName>Norr <DayTypeAssignment order="3" version="any" id="SE:253:DayTypeAssignment:1-20191127"Tull</ShortName> <!-- Noptis.StopPoint.ShortName -->
                            <PrivateCode>1</PrivateCode> <!-- Noptis.StopPoint.LocalNumber <Date>2019-11-27</Date>->
                            <Centroid>
  <DayTypeRef ref="SE:253:DayType:1" version="any"/>                         </DayTypeAssignment>   <Location>
                     <!-- More DayTypeAssignment elements -->           <Longitude>16.177052</Longitude> <!-- Noptis.JourneyPatternPoint.LocationEastingCoordinate -->
      </dayTypeAssignments>                 </ServiceCalendarFrame>             <<Latitude>58.595038</frames>Latitude>    <!-- Noptis.JourneyPatternPoint.LocationNorthingCoordinate -->
    </CompositeFrame>     </dataObjects> </PublicationDelivery>

_stops.xml

Code Block
breakoutModefull-width
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:ns2="http://www.opengis.net/gml/3.2" xmlns:ns3="http://www.siri.org.uk/siri">     <PublicationTimestamp>2019-11-27T12:50:21</PublicationTimestamp> <!-- Timestamp of export -->     <ParticipantRef>SAM</ParticipantRef>
    <dataObjects></Location>
        <SiteFrame version="20191127125021" id="SE:253:SiteFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is always 1 -->
                     </Centroid>
          <ValidBetween>                 <FromDate>2005-01-01T00:00:00</FromDate> <!-- Always set to 2005-01-01 WIP, Netex.ZoneProjections are based on Noptis.JourneyPatternPointInZone -->
                </ValidBetween>            <projections>
<codespaces>                 <Codespace id="253"> <!-- id is same as Xmlns -->       <ZoneProjection version="any" id="TEST:ZoneProjection:1">
           <Xmlns>253</Xmlns> <!-- From Samtrafiken's registry of producer numbers, based on data source -->             <ProjectedZoneRef ref="TEST:TopographicPlace:1"/>
      <XmlnsUrl>http://www.samtrafiken.se/ns/Östgötatrafiken</XmlnsUrl> <!-- "Östgötatrafiken" is based on data source -->                          </Codespace>ZoneProjection>
                        </codespaces>    </projections>
        <FrameDefaults>                 <DefaultLocale>   <PublicCode>A</PublicCode> <!-- Noptis.StopPoint.Designation -->
              <TimeZone>Europe/Stockholm</TimeZone>              <equipmentPlaces> <!-- Based on Noptis ConnectionLink, ObstacleOnLink, <DefaultLanguage>se</DefaultLanguage>
BridgingDevice -->
               </DefaultLocale>               <EquipmentPlace  <DefaultLocationSystem>4326</DefaultLocationSystem>version="any" id="SE:001:EquipmentPlace:14010000311143397"> <!-- Allid coordinates are WGS84 = Noptis.BridgingDevice.Id -->
              </FrameDefaults>              <!-- WIP, TopographicPlace is based on Noptis.Zone<placeEquipments>
. TopographicPlaces are referenced from Quays through ZoneProjections -->             <topographicPlaces>                 <TopographicPlace<EntranceEquipment version="any" id="SE:253001:TopographicPlace:1">
  EntranceEquipment:14010000311143397"> <!-- id = Noptis.BridgingDevice.Id -->
                 <ValidBetween>                         <FromDate>2016-12-13T00:00:00</FromDate><Door>true</Door> <!-- Noptis.Zone.ExistsFromDateBridgingDevice (TypeCode = DOOR) -->
 
                      <!-- ToDate = Noptis.Zone.ExistsToDate, in this case "ExistsToDate" is null -->        </EntranceEquipment>
            </ValidBetween>                     <Name>Boxholm</Name> <!-- Noptis.Zone.Name -->
      </placeEquipments>
              <PrivateCode>0560</PrivateCode> <!-- Noptis.Zone.Number -->              </EquipmentPlace>
      <TopographicPlaceType>municipality</TopographicPlaceType> <!-- Based on Noptis.Zone.ZoneTypeCode -->                 </TopographicPlace>
equipmentPlaces>
           </topographicPlaces>             <groupsOfStopPlaces> <!--/Quay>
GroupOfStopPlace is based on Noptis.Site -->               <GroupOfStopPlaces version="20120623" id="SE:001:GroupOfStopPlaces:9091001000000103">     <!-- version=Noptis.Site.ExistsFromDate, id=Noptis.Site.GidMore Quay elements -->
                    </quays>
       <ValidBetween>         </StopPlace>
               <FromDate>2012-06-23T00:00:00</FromDate> <!-- Noptis.Site.ExistsFromDate More StopPlace elements -->
            </stopPlaces>
          </ValidBetween>  <tariffZones>
                <TariffZone  <Name>Nämdöböte</Name>version="160620" id="SE:005:TariffZone:9081005201004216"> <!-- Noptis.Zone where TypeCode == "TARIFFZO". version=Noptis.Zone.ExistsFromDate id=Noptis.SiteZone.NameGid -->
                    <Description>Nämdö</Description> <!-- Noptis.Site.PublicNote --><ValidBetween>
                        <PrivateCode>103</PrivateCode><FromDate>2016-06-20T00:00:00</FromDate> <!-- Noptis.Site.NumberexistsFromDate -->
                    <members></ValidBetween>
                      <Name>Norrköping</Name>  <!-- StopPlaceRefs are based on Noptis.SiteNeighbouringStopArea Name -->
                        <StopPlaceRef ref="SE:001:StopPlace:9021001000103000" version="20210224"/><ShortName>Norrköping</ShortName> <!-- ref=Noptis.StopArea.Gid, version=Noptis.StopArea.ExistsFromDateShortname -->
                    <<PrivateCode>1004216</members>PrivateCode> <!-- Number -->
                 <Centroid>
           </TariffZone>
            <Location srsName="WGS84"> <!-- Noptis.Site.CoordinateSystemName --> </tariffZones>
            <navigationPaths> 
               <Longitude>18.739921</Longitude> <!-- Noptis.Site.CentroidEastingCoordinate -->
            NavigationPath is based on Noptis.ConnectionLink when 'From' and 'To' are both Quay references -->
               <Latitude>59.208826</Latitude> <!-- Noptis.Site.CentroidNorthingCoordinate -->
               NavigationPath is based on Noptis.StationEntryLink when 'From' is a StopPlaceEntrance reference and 'To' is a Quay reference -->
        </Location>        <!-- NavigationPath is based on Noptis.StationExitLink when 'From' is a Quay reference  </Centroid>
    and 'To' is a StopPlaceEntrance reference -->
           </GroupOfStopPlaces>     <!-- NavigationPath may contain validityConditions and timebands if </groupsOfStopPlaces>they have limited dates and         <stopPlaces> <!-- StopPlace is based on Noptis.StopArea -->opening hours -->  
                <StopPlace<NavigationPath version="2016121320180504" id="SE:253:StopPlaceNavigationPath:902100500000100055700000046273098"> <!-- version=Noptis.StopAreaConnectionLink.ExistsFromDate, id=Noptis.StopAreaConnectionLink.GidId -->
                    <Distance>0</Distance> <!-- version=Noptis.ConnectionLink.DistanceMeters. If null, Distance will <ValidBetween>be 0 -->
                    <From>
 <FromDate>2016-12-13T00:00:00</FromDate> <!-- Noptis.StopArea.ExistsFromDate -->                    <PlaceRef     ref="SE:253:Quay:9022005000100216" version="20140218"/> <!-- ToDate = version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopAreaStopPoint.ExistsToDate,Gid in this case "ExistsToDate" is nullfrom Noptis.ConnectionLink.StartsAtJourneyPatternPoint -->
                    </ValidBetween>From>
                    <Name>Norr<To>
 Tull</Name> <!-- Noptis.StopArea.Name -->                     <ShortName>Norr Tull</ShortName><PlaceRef ref="SE:253:Quay:9022005000102017" version="20181204"/> <!-- version=Noptis.StopArea.ShortName -->
                    <PrivateCode>1</PrivateCode> <!-- Noptis.StopArea.NumberStopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.ConnectionLink.EndsAtJourneyPatternPoint -->
                    <Centroid></To>
                    <TransferDuration>
   <Location>                             <Longitude>16.176723</Longitude><DefaultDuration>PT6M</DefaultDuration> <!-- version=Noptis.StopAreaConnectionLink.CentroidEastingCoordinateDefaultDurationSeconds -->
                    </TransferDuration>
           <Latitude>58.594850</Latitude> <!-- Noptis.StopArea.CentroidNorthingCoordinate -->         <AccessibilityAssessment version="20180504" id="SE:275:AccessibilityAssessment:4010000565163766"> <!-- SE:<producerNumber>:AccessibilityAssessment:<obstacleOnLinkId> , version=ObstacleOnLink.ExistsFromDate -->
            </Location>          <MobilityImpairedAccess>unknown</MobilityImpairedAccess>  <!-- Always unknown, required field but data is not </Centroid>available  -->
                  <OrganisationRef ref="SE:253:Authority:9010005000000000"/> <!-- Noptis.StopArea.IsDefinedByTransportAuthortiy --> <limitations>
                    <entrances> <!-- Entrances are based on Noptis.StationEntrancePoint --><AccessibilityLimitation>
                         <StopPlaceEntrance version="20120623" id="SE:275:StopPlaceEntrance:9023001006651001"> <!-- version=Noptis.StationEntrancePoint.ExistsFromDate, id=Noptis.StationEntrancePoint.Gid -->
           <WheelchairAccess>unknown</WheelchairAccess> <!-- Always unknown, required field but data is not available  -->
                 <ValidBetween>             <StepFreeAccess>false</StepFreeAccess>  <!-- BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'STAIRWAY'.  -->
   <FromDate>2014-03-11T00:00:00</FromDate>  <!-- Noptis.StationEntrancePoint.ExistsFromDate but not earlier than parent StopPlace.FromDate -->                 <EscalatorFreeAccess>unknown</EscalatorFreeAccess> <!-- BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'ESCALAT'.   <!-->
 ToDate = Noptis.StationEntrancePoint.ExistsToDate, in this case "ExistsToDate" is null, not later than parent StopPlace.ToDate -->               <LiftFreeAccess>unknown</LiftFreeAccess> <!-- BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode ==  </ValidBetween>
'ELEVATOR'.  -->
                          </AccessibilityLimitation>
<Name>Djursholms Ösby</Name> <!-- Noptis.StationEntrancePoint.Name -->                  </limitations>
          <Centroid>         </AccessibilityAssessment>
                </NavigationPath>
      <Location>          <NavigationPath version="20120623" id="SE:251:NavigationPath:14010000311143757"> <!-- version=Noptis.StationEntryLink.ExistsFromDate, id=Noptis.StationEntryLink.Id -->
                    <Longitude>18<Distance>2.058320<0</Longitude>Distance> <!-- version=Noptis.StationEntryLink.StationEntrancePoint.LocationEastingCoordinateDistanceMeters. If null, Distance will be 0 -->
                    <From>
                         <Latitude>59.397925</Latitude><PlaceRef ref="SE:251:StopPlaceEntrance:9023001006651002" version="20120623"/> <!-- version=Noptis.StationEntrancePoint.ExistsFromDate id=Noptis.StationEntrancePoint.LocationNorthingCoordinateGid -->
                    </From>
                   </Location> <To>
                        <PlaceRef ref="SE:251:Quay:9022003719007001"  </Centroid>
   version="20150827"/> <!-- version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.StationEntryLink.EndsAtJourneyPatternPoint -->
                    </StopPlaceEntrance>To>
                        <!-- More StopPlaceEntrance elements --><TransferDuration>
                        <DefaultDuration>PT3M1S</DefaultDuration> </entrances>
!-- version=Noptis.StationEntryLink.DefaultDurationSeconds -->
                   <TransportMode>bus</TransportMode> <!-- See the section "General Noptis to Netex mappings" below -->/TransferDuration>
                </NavigationPath>
            <StopPlaceType>busStation</StopPlaceType> <!-- See the section<NavigationPath version="20120623"General Noptis to Netex mappings" below id="SE:251:NavigationPath:14010000311147186"> <!-- version=Noptis.StationExitLink.ExistsFromDate, id=Noptis.StationExitLink.Id -->
                    <Weighting>interchangeAllowed<<Distance>3.0</Weighting>Distance> <!-- See the section "General Noptis to Netex mappings" below version=Noptis.StationExitLink.DistanceMeters. If null, Distance will be 0 -->
                    <quays><From>
<!-- Quay is based on Noptis.StopPoint and Noptis.JourneyPatternPoint -->                         <Quay version="20180419" id<PlaceRef ref="SE:253251:Quay:9022005000001001"9022003719007002" version="20150827"/> <!-- version=Noptis.StopPoint.ExistsFromDate, id= id=Noptis.StopPoint.Gid from Noptis.StopPointStationExitLink.GidStartsAtJourneyPatternPoint -->
                    </From>
             <ValidBetween>       <To>
                         <FromDate>2019-04-26T00:00:00</FromDate><PlaceRef ref="SE:251:StopPlaceEntrance:9023001006661001" version="20120623"/> <!-- version=Noptis.StopPointStationEntrancePoint.ExistsFromDate but not earlier than parent StopPlace.FromDateid=Noptis.StationEntrancePoint.Gid -->
           
                    <!-- ToDate = Noptis.StopPoint.ExistsToDate, in this case "ExistsToDate" is null, not later than parent StopPlace.ToDate -->/To>
                    <TransferDuration>
               </ValidBetween>                             <Name>Norr Tull</Name><DefaultDuration>PT3M2S</DefaultDuration> <!-- version=Noptis.StopPoint.Name -->
      StationExitLink.DefaultDurationSeconds -->
                     <ShortName>Norr Tull</ShortName> <!-- Noptis.StopPoint.ShortName --></TransferDuration>
                </NavigationPath>
              <PrivateCode>1</PrivateCode> <!-- Noptis.StopPoint.LocalNumber --> <pathLinksInSequence>
                    <PathLinkInSequence order="1" version="any" id="SE:001:PathLinkInSequence:14010000311183662-1">
     <Centroid>                   <LinkSequenceRef ref="SE:001:PathLink:14010000311183662-1" version="20120623"/> <!-- ref=Noptis.ConnectionLink.Id-1, version=Noptis.ConnectionLink.ExistsFrom -->
       <Location>             </PathLinkInSequence>
                    <PathLinkInSequence order="2"  <Longitude>16.177052</Longitude> <!-- Noptis.JourneyPatternPoint.LocationEastingCoordinate --version="any" id="SE:001:PathLinkInSequence:14010000311183662-2">
                        <LinkSequenceRef            <Latitude>58.595038</Latitude>ref="SE:001:PathLink:14010000311183662-2" version="20120623"/> <!-- ref=Noptis.ConnectionLink.Id-2, version=Noptis.JourneyPatternPointConnectionLink.LocationNorthingCoordinateExistsFrom -->
                    </PathLinkInSequence>
                </Location>pathLinksInSequence>
                <!-- More NavigationPath elements -->
            </Centroid>navigationPaths>
            <pathLinks>
              <PathLink version="20120623" id="SE:001:PathLink:14010000311183662-1">  <!-- WIPid=Noptis.ConnectionLink.Id-1, Netex.ZoneProjections are based on Noptis.JourneyPatternPointInZone -->version=Noptis.ConnectionLink.ExistsFrom -->
                <ValidBetween>
                  <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.ConnectionLink.ExistsFromDate -->
          <projections>        <!-- ToDate = Noptis.ConnectionLink.ExistsToDate, in this case "ExistsToDate" is null -->
              <ZoneProjection version="any" id="TEST:ZoneProjection:1">
 </ValidBetween>
                <From>
                  <ProjectedZoneRef<PlaceRef ref="TESTSE:001:TopographicPlace:1Quay:9022001070462002" version="20140603"/> <!-- id=Noptis.StopPoint.Gid,            version=Noptis.StopPoint.Gid -->
                  </ZoneProjection>From>
                <To>
           </projections>       <PlaceRef ref="SE:001:EquipmentPlace:14010000311143397" version="any"/> <!-- id=Noptis.BridgingDevice.id -->
                <PublicCode>A<</PublicCode> <!-- Noptis.StopPoint.Designation -->To>
              </PathLink>
              <PathLink version="20120623"  <equipmentPlaces>id="SE:001:PathLink:14010000311183662-2">  <!-- Based on Noptis ConnectionLink, ObstacleOnLink, BridgingDeviceid=Noptis.ConnectionLink.Id-2, version=Noptis.ConnectionLink.ExistsFrom -->
                <From>
                 <EquipmentPlace version="any" id<PlaceRef ref="SE:001:EquipmentPlace:14010000311143397" version="any"/> <!-- id = Noptis.BridgingDevice.Idid -->
                </From>
                <To>
<placeEquipments>                                       <EntranceEquipment version="any" id<PlaceRef ref="SE:001:EntranceEquipment:14010000311143397"Quay:9022001070462001" version="20140603"/> <!-- id=Noptis.StopPoint.Gid, version= Noptis.BridgingDeviceStopPoint.IdGid -->
                            </To>
             <Door>true</Door> <!-- Noptis.BridgingDevice (TypeCode = DOOR) -->    </PathLink>
            </pathLinks>
        </SiteFrame>
    </dataObjects>
</PublicationDelivery>

line_{Noptis.TransportAuthority.Number}_{Noptis.Line.Number}_
{Noptis.Line.Gid}.xml (line_253_53_9011005005300000.xml)

This is an example of a line file with explanations on how the different fields and elements are mapped to the Noptis format.

Code Block
breakoutModefull-width
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:ns2="http://www.opengis.net/gml/3.2" xmlns:ns3="http://www.siri.org.uk/siri">
      </EntranceEquipment>
   <PublicationTimestamp>2019-11-27T12:50:21</PublicationTimestamp> <!-- Timestamp of export -->
    <ParticipantRef>SAM</ParticipantRef>
    <dataObjects>
        <CompositeFrame created="2019-11-27T12:50:21"           </placeEquipments>
           version="20191127125021" id="SE:253:CompositeFrame:9011005005300000"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id will always be 1 -->
              <ValidBetween>
   </EquipmentPlace>             <FromDate>2005-01-01T00:00:00</FromDate> <!-- Always set             </equipmentPlaces>
  to 2005-01-01 -->
            </ValidBetween>
        </Quay>     <codespaces>
                  <Codespace id="253"> <!-- id is Moresame Quayas elementsXmlns -->
                    <<Xmlns>253</quays>Xmlns> <!-- From Samtrafiken's registry of producer numbers, based on data source -->
    </StopPlace>                <XmlnsUrl>http://www.samtrafiken.se/ns/Östgötatrafiken</XmlnsUrl> <!-- More StopPlace elements "Östgötatrafiken" is based on data source -->
  
         </stopPlaces>             <navigationPaths> 
 </Codespace>
              <!-- NavigationPath is based on Noptis.ConnectionLink when 'From' and 'To' are both Quay references -->
  </codespaces>
            <FrameDefaults>
             <!-- NavigationPath is based<DefaultLocale>
on Noptis.StationEntryLink when 'From' is a StopPlaceEntrance reference and 'To' is a Quay reference -->      <TimeZone>Europe/Stockholm</TimeZone>
          <!-- NavigationPath is based on Noptis.StationExitLink when 'From' is a Quay<DefaultLanguage>se</DefaultLanguage>
reference and 'To' is a StopPlaceEntrance reference -->         </DefaultLocale>
       <!-- NavigationPath may contain validityConditions and timebands if they have limited dates and opening hours<DefaultLocationSystem>4326</DefaultLocationSystem> <!-- All coordinates are WGS84 -->
             </FrameDefaults>
    <NavigationPath version="20180504" id="SE:253:NavigationPath:55700000046273098"> <!-- version=Noptis.ConnectionLink.ExistsFromDate, id=Noptis.ConnectionLink.Id -->  <frames>
                <ServiceFrame  <Distance>0</Distance>version="20191127125021" id="SE:253:ServiceFrame:9011005005300000"> <!-- version=Noptis.ConnectionLink.DistanceMeters. If null, Distance will be 0Version is timestamp of export (YYYYMMDDHHmmSS), id=Noptis.Line.Gid -->
                    <From>
<routes>
                       <PlaceRef ref="SE:253:Quay:9022005000100216" version="20140218"/> <!-- version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.ConnectionLink.StartsAtJourneyPatternPoint Route is based on Noptis.JourneyPattern and Noptis.DirectionOfLine. Each Noptis.JourneyPattern will create a Route. -->
                    </From>    <Route version="any" id="SE:253:Route:55700000035050824">
              <To>                         <PlaceRef ref="SE:253:Quay:9022005000102017" version="20181204"/><Name>Motala</Name> <!-- version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.ConnectionLink.EndsAtJourneyPatternPointDirectionOfLine.Name -->
      
             </To>               <LineRef ref="SE:253:Line:9011005005300000" version="20131215"/>
   <TransferDuration>                         <DefaultDuration>PT6M<<DirectionType>outbound</DefaultDuration>DirectionType> <!-- version=Noptis.ConnectionLink.DefaultDurationSeconds.DirectionOfLine.DirectionCode. ODD = outbound, EVEN = inbound. -->
                    </TransferDuration>        <pointsInSequence>
             <AccessibilityAssessment version="20180504" id="SE:275:AccessibilityAssessment:4010000565163766"> <!-- SE:<producerNumber>:AccessibilityAssessment:<obstacleOnLinkId> , version=ObstacleOnLink.ExistsFromDate -->            <!-- PointOnRoute is based on Noptis.PointInJourneyPattern -->
    <MobilityImpairedAccess>unknown</MobilityImpairedAccess>  <!-- Always unknown, required field but data is not available  -->               <PointOnRoute order="1" version="any" id="SE:253:PointOnRoute:55700000035050829"> <!-- order=Noptis.PointInJourneyPattern.SequenceNumber, id=Noptis.PointInJourneyPattern.Id -->
<limitations>                           <AccessibilityLimitation>         <RoutePointRef ref="SE:253:RoutePoint:9022005000050016"/>
                    <WheelchairAccess>unknown</WheelchairAccess> <!-- Always unknown, required field but data is not available  --></PointOnRoute>
                              <StepFreeAccess>false</StepFreeAccess>  <!-- BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'STAIRWAY'.  More PointOnRoute elements -->
                            </pointsInSequence>
  <EscalatorFreeAccess>unknown</EscalatorFreeAccess> <!-- BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'ESCALAT'.  -->       </Route>
                       <LiftFreeAccess>unknown</LiftFreeAccess> <!-- BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'ELEVATOR'. More Route elements -->
     
                    </AccessibilityLimitation>routes>
                    <lines>
 </limitations>                    </AccessibilityAssessment>   <!-- Line is based on Noptis.Line -->
       </NavigationPath>                 <NavigationPath<Line version="2012062320131215" id="SE:251253:NavigationPathLine:140100003111437579011005005300000"> <!-- version=Noptis.StationEntryLinkLine.ExistsFromDate, id=Noptis.StationEntryLinkLine.IdGid -->
                            <ValidBetween>
                                <Distance>2.0</Distance><FromDate>2019-02-13T00:00:00</FromDate> <!-- version=Noptis.StationEntryLink.DistanceMeters. If null, Distance will be 0 -->Line.ExistsFromDate -->
                                <!-- ToDate = Noptis.Line.ExistsToDate, in this case "ExistsToDate" is null -->
     <From>                       </ValidBetween>
 <PlaceRef ref="SE:251:StopPlaceEntrance:9023001006651002" version="20120623"/> <!-- version=Noptis.StationEntrancePoint.ExistsFromDate id=Noptis.StationEntrancePoint.Gid -->                     <<Name>53</From>Name> <!-- Noptis.Line.Name, eller Noptis.Line.Designation om Noptis.Line.Name är tom -->
           <To>                 <TransportMode>rail</TransportMode> <!-- See the section "General Noptis to <PlaceRef ref="SE:251:Quay:9022003719007001" version="20150827"/> <!-- version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.StationEntryLink.EndsAtJourneyPatternPoint -->Netex mappings" below -->
                            <TransportSubmode>
</To>                     <TransferDuration>           <RailSubmode>unknown</RailSubmode> <!-- Netex.TransportSubmode is always mapped to UNKNOWN since that information is not available <DefaultDuration>PT3M1S</DefaultDuration> <!-- version=Noptis.StationEntryLink.DefaultDurationSecondsin NOPTIS. -->
                    </TransferDuration>        </TransportSubmode>
         </NavigationPath>                 <NavigationPath version="20120623" id="SE:251:NavigationPath:14010000311147186"> <PublicCode>53</PublicCode> <!-- version=Noptis.StationExitLink.ExistsFromDate, id=Noptis.StationExitLinkLine.IdDesignation -->
                            <Distance>3.0<<PrivateCode>53</Distance>PrivateCode> <!-- version=Noptis.StationExitLink.DistanceMeters. If null, Distance will be 0Line.Number -->
                    <From>             <RepresentedByGroupRef ref="SE:253:Network:9010005000000000"/>
           <PlaceRef ref="SE:251:Quay:9022003719007002" version="20150827"/> <!-- version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.StationExitLink.StartsAtJourneyPatternPoint -->         </Line>
                 </From>   </lines>
                 <To>   <journeyPatterns>
                     <PlaceRef ref="SE:251:StopPlaceEntrance:9023001006661001" version="20120623"/> <!-- version=Noptis.StationEntrancePoint.ExistsFromDate id=Noptis.StationEntrancePoint.Gid JourneyPattern is based on Noptis.NamedJourneyPattern -->
                        <JourneyPattern version="any"  </To>id="SE:253:JourneyPattern:55700000035050824"> <!-- id=Noptis.NamedJourneyPattern.Id -->
                          <TransferDuration>  <RouteRef ref="SE:253:Route:55700000035050824" version="any"/>
                    <DefaultDuration>PT3M2S</DefaultDuration> <!-- version=Noptis.StationExitLink.DefaultDurationSeconds -->     <pointsInSequence>
               </TransferDuration>                 </NavigationPath>
    !-- StopPointInJourneyPattern is based on Noptis.PointInJourneyPattern -->
           <pathLinksInSequence>                     <PathLinkInSequence<StopPointInJourneyPattern order="1" version="any" id="SE:001253:PathLinkInSequenceStopPointInJourneyPattern:14010000311183662-155700000035050829"> 
                                 <LinkSequenceRef ref="SE:001:PathLink:14010000311183662-1" version="20120623"/> <!-- reforder=Noptis.ConnectionLinkPointInJourneyPattern.Id-1SequenceNumber, versionid=Noptis.ConnectionLinkPointInJourneyPattern.ExistsFromId -->
                    </PathLinkInSequence>                     <PathLinkInSequence order="2" version="any" id<ScheduledStopPointRef ref="SE:001253:PathLinkInSequenceScheduledStopPoint:14010000311183662-29022005000050016"/>
                        <LinkSequenceRef ref="SE:001:PathLink:14010000311183662-2" version="20120623"/> <!-- ref=Noptis.ConnectionLink.Id-2, version=Noptis.ConnectionLink.ExistsFrom -->      <ForAlighting>false</ForAlighting> <!-- See the section "General Noptis to Netex mappings" below -->
   </PathLinkInSequence>                 </pathLinksInSequence>                <ForBoarding>true</ForBoarding> <!-- See Morethe NavigationPathsection elements -->
    "General Noptis to Netex mappings" below -->
       </navigationPaths>             <pathLinks>               <PathLink version="20120623" id<DestinationDisplayRef ref="SE:001253:PathLinkDestinationDisplay:14010000311183662-155700000037211691">  <!-- id=Noptis.ConnectionLink.Id-1, version=Noptis.ConnectionLink.ExistsFrom -->/>
                 <ValidBetween>                   <FromDate>2019-02-13T00:00:00</FromDate><RequestStop>true</RequestStop> <!-- Noptis.ConnectionLink.ExistsFromDate See the section "General Noptis to Netex mappings" below -->
                              <!-- ToDate = Noptis.ConnectionLink.ExistsToDate, in this case "ExistsToDate" is null -->  </StopPointInJourneyPattern>
                                </ValidBetween>!-- More StopPointInJourneyPattern elements -->
            <From>                </pointsInSequence>
  <PlaceRef ref="SE:001:Quay:9022001070462002" version="20140603"/> <!-- id=Noptis.StopPoint.Gid, version=Noptis.StopPoint.Gid -->                 </From>   <linksInSequence>
             <To>                   <PlaceRef<ServiceLinkInJourneyPattern reforder="SE:001:EquipmentPlace:140100003111433971" version="any"/" id="SE:253:ServiceLinkInJourneyPattern:BUS_391"> <!-- idorder=Noptis.BridgingDevice.id -->
        PointInJourneyPattern.SequenceNumber, 
      </To>               </PathLink>               <PathLink version="20120623" id="SE:001:PathLink:14010000311183662-2">  <!-- id=Noptis.ConnectionLink.Id-2, version=Noptis.ConnectionLink.ExistsFrom is Noptis.Line.DefaultTransportModeCode + a counter. -->
                 <From>                   <PlaceRef<ServiceLinkRef ref="SE:001253:EquipmentPlace:14010000311143397" version="any"/> <!-- id=Noptis.BridgingDevice.id -->ServiceLink:BUS_9025005000005016_9025005000122302"/>
                          </From>      </ServiceLinkInJourneyPattern>
          <To>                   <PlaceRef ref="SE:001:Quay:9022001070462001" version="20140603"/> <!-- id=Noptis.StopPoint.Gid, version=Noptis.StopPoint.GidMore ServiceLinkInJourneyPattern elements -->
                </To>            </linksInSequence>
  </PathLink>             </pathLinks>         </SiteFrame>JourneyPattern>
            </dataObjects>
</PublicationDelivery>

line_{Noptis.Line.Number}_{Noptis.Line.Gid}.xml (line_53_9011005005300000.xml)

Code Block
breakoutModefull-width
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PublicationDelivery xmlns="http://www.netex.org.uk/netex" xmlns:ns2="http://www.opengis.net/gml/3.2" xmlns:ns3="http://www.siri.org.uk/siri">        </journeyPatterns>
      <PublicationTimestamp>2019-11-27T12:50:21</PublicationTimestamp> <!-- Timestamp of export -->     <ParticipantRef>SAM<</ParticipantRef>ServiceFrame>
      <dataObjects>         <CompositeFrame created="2019-11-27T12:50:21" <TimetableFrame version="20191127125021" id="SE:253:CompositeFrameTimetableFrame:9011005005300000"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id will always be 1=Noptis.Line.Gid -->
            <ValidBetween>            <vehicleJourneys>
    <FromDate>2005-01-01T00:00:00</FromDate> <!-- Always set to 2005-01-01 -->                     </ValidBetween>
   !-- ServiceJourney is based on Noptis.VehicleJourney -->
        <codespaces>                <ServiceJourney <Codespaceversion="any" id="SE:253:ServiceJourney:55700000049527547"> <!-- id is same as Xmlns -->=Noptis.VehicleJourney.Id -->
                            <Xmlns>253<<PrivateCode>123</Xmlns>PrivateCode> <!-- From Samtrafiken's registry of producer numbers, based on data source Not in Noptis but in Stip as VehicleJourney.InternalJourneyNumber. Currently only imported from TRP.30-Post.TURNR and Netex.ServiceJourney. -->
                     <XmlnsUrl>http://www.samtrafiken.se/ns/Östgötatrafiken</XmlnsUrl> <!-- "Östgötatrafiken" is based on data source<TransportMode>rail</TransportMode> <!--> See the section  "General Noptis to Netex mappings" below -->
     </Codespace>             </codespaces>          <TransportSubmode>
  <FrameDefaults>                 <DefaultLocale>             <RailSubmode>unknown</RailSubmode> <!-- Netex.TransportSubmode is always mapped to UNKNOWN <TimeZone>Europe/Stockholm</TimeZone>since that information is not available in NOPTIS. -->
            <DefaultLanguage>se</DefaultLanguage>                 </DefaultLocale>TransportSubmode>
                <DefaultLocationSystem>4326</DefaultLocationSystem> <!-- All coordinates are WGS84 -->         <dayTypes>
   </FrameDefaults>             <frames>                 <ServiceFrame version="20191127125021" id<DayTypeRef ref="SE:253:ServiceFrameDayType:90110050053000001"/> <!-- See Versionthe isexplanation timestampfor ofServiceCalendarFrame export (YYYYMMDDHHmmSS), id=Noptis.Line.Gidin the "_shared_data.xml" section -->
                        <routes>    </dayTypes>
                    <!-- Route is based on Noptis.JourneyPattern and Noptis.DirectionOfLine. Each Noptis.JourneyPattern will create a Route. --><JourneyPatternRef ref="SE:253:JourneyPattern:55700000035050824" version="any"/>
                            <Route version="any" id<OperatorRef ref="SE:253:RouteOperator:557000000350508249013005918200000"/>
                            <Name>Motala</Name><trainNumbers> <!-- Noptis.DirectionOfLine.Name -->
     TrainNumbers exists only for ServiceJourneys that are trains. -->
                       <LineRef ref="SE:253:Line:9011005005300000" version="20131215"/>       <!-- Normally there will only be one TrainNumberRef here. For Trains that change their announced train number during their journey (also called <DirectionType>outbound</DirectionType> <!-- Noptis.DirectionOfLine.DirectionCode. ODD = outbound, EVEN = inboundvagnskurs/kursvagnar) there will be multiple TrainNumberRefs (as restricted by JourneyPart-elements). -->
                               <pointsInSequence> <TrainNumberRef ref="SE:253:TrainNumber:9011074007000000_74" versionRef="any"/>
                             <!-- PointOnRoute is based on Noptis.PointInJourneyPattern -->
    <TrainNumberRef ref="SE:253:TrainNumber:9011074007000000_70" versionRef="any"/>
                           <PointOnRoute order="1" version="any" id="SE:253:PointOnRoute:55700000035050829"> <!-- order=Noptis.PointInJourneyPattern.SequenceNumber, id=Noptis.PointInJourneyPattern.Id --> </trainNumbers>
                            <passingTimes>
         <RoutePointRef ref="SE:253:RoutePoint:9022005000050016"/>                      <!-- TimetabledPassingTime is based on CallOnTimedJourneyPattern -->
    </PointOnRoute>                            <TimetabledPassingTime    version="any" id="SE:253:TimetabledPassingTime:55700000049527529"> <!-- More PointOnRoute elements id=Noptis.CallOnTimedJourneyPattern.Id -->
 
                          </pointsInSequence>          <StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050829" version="any"/>
            </Route>                        <DepartureTime>06:40:00</DepartureTime> <!-- More Route elementsNoptis.VehicleJourney.PlannedStartOffsetDayTime and Noptis.CallOnTimedJourneyPattern.EarliestDepartureTimeOffsetSeconds -->
                         </routes>       </TimetabledPassingTime>
              <lines>                  <TimetabledPassingTime version="any" id="SE:253:TimetabledPassingTime:55700000049527530">
    <!-- Line is based on Noptis.Line -->                         <Line version="20131215" id<StopPointInJourneyPatternRef ref="SE:253:LineStopPointInJourneyPattern:9011005005300000"> <!-- version=Noptis.Line.ExistsFromDate, id=Noptis.Line.Gid -->
                        55700000035050830" version="any"/>
   <ValidBetween>                                 <FromDate>2019-02-13T00:00:00</FromDate> <ArrivalTime>06:41:28</ArrivalTime> <!-- Noptis.VehicleJourney.PlannedStartOffsetDayTime and Noptis.LineCallOnTimedJourneyPattern.ExistsFromDateLatestArrivalTimeOffsetSeconds -->
                                <!--  ToDate = Noptis.Line.ExistsToDate, in this case "ExistsToDate" is null --> <DepartureTime>06:41:28</DepartureTime>
                                </TimetabledPassingTime>
  </ValidBetween>                             <Name>53</Name> <!-- More TimtabledPassingTime elements -- Noptis.Line.Name, eller Noptis.Line.Designation om Noptis.Line.Name är tom -->>
                                <TimetabledPassingTime version="any" id="SE:253:TimetabledPassingTime:55700000049527544">
      <TransportMode>bus</TransportMode> <!-- See the section "General Noptis to Netex mappings" below -->                   <StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050844" version="any"/>
       <TransportSubmode>                             <ArrivalTime>07:50:00</ArrivalTime>
   <BusSubmode>unknown</BusSubmode> <!-- Netex.TransportSubmode is always mapped to UNKNOWN since that information is not available in NOPTIS. -->                 <DepartureTime>07:51:00</DepartureTime>
           </TransportSubmode>                     </TimetabledPassingTime>
       <PublicCode>53</PublicCode> <!-- Noptis.Line.Designation -->                      <TimetabledPassingTime version="any" id="SE:253:TimetabledPassingTime:55700000049527545">
    <PrivateCode>53</PrivateCode> <!-- Noptis.Line.Number -->                             <RepresentedByGroupRef<StopPointInJourneyPatternRef ref="SE:253:Network:9010005000000000StopPointInJourneyPattern:55700000035050845" version="any"/>
  
                     </Line>               <ArrivalTime>01:20:00</ArrivalTime>
     </lines>                     <journeyPatterns>          <ArrivalDayOffset>1</ArrivalDayOffset> <!-- Noptis.VehicleJourney.PlannedStartOffsetDayTime (the day value      -1) -->
   <!-- JourneyPattern is based on Noptis.NamedJourneyPattern -->                         <JourneyPattern version="any" id="SE:253:JourneyPattern:55700000035050824"> <!-- id=Noptis.NamedJourneyPattern.Id --> <DepartureTime>01:21:00</DepartureTime>
                                  <RouteRef ref="SE:253:Route:55700000035050824" version="any"/ <DepartureDayOffset>1</DepartureDayOffset> <!-- Noptis.VehicleJourney.PlannedEndOffsetDayTime (the day value -1) -->
                            <pointsInSequence>    </TimetabledPassingTime>
                            <!-- StopPointInJourneyPattern is based on Noptis.PointInJourneyPattern --><TimetabledPassingTime version="any" id="SE:253:TimetabledPassingTime:55700000049527546">
                                 <StopPointInJourneyPattern  order="1" version="any" id <StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050829">55700000035050846" version="any"/>
                                    <ArrivalTime>02:00:00</ArrivalTime>
              <!-- order=Noptis.PointInJourneyPattern.SequenceNumber, id=Noptis.PointInJourneyPattern.Id -->                   <ArrivalDayOffset>1</ArrivalDayOffset>
                 <ScheduledStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050016"/>              </TimetabledPassingTime>
                      <ForAlighting>false</ForAlighting> <!-- See the section "General Noptis</passingTimes>
to Netex mappings" below -->                        <FlexibleServiceProperties> <!-- Noptis.AdvanceOrderCondition -->
         <ForBoarding>true</ForBoarding> <!-- See the section "General Noptis to Netex mappings" below -->          <FlexibleServiceType>fixedPassingTimes</FlexibleServiceType> <!-- this value is always set to fixedPassingTimes -->
                 <DestinationDisplayRef ref="SE:253:DestinationDisplay:55700000037211691"/>            <BookingContact>
                        <RequestStop>true</RequestStop> <!-- See the section "General Noptis to Netex mappings" below<Phone>07717110120</Phone> <!-- Noptis.AdvanceOrderCondition.TelephoneNumber -->
 
                              </StopPointInJourneyPattern>BookingContact>
                                <!-- More StopPointInJourneyPattern elements Either BookWhen AND LatestBookingTime are set, OR only MinimumBookingPeriod is set -->
                               </pointsInSequence><BookWhen>advanceAndDayOfTravel</BookWhen> <!-- Noptis.AdvanceOrderCondition.MinimumDaysInAdvanceCount. advanceAndDayOfTravel = 0, untilPreviousDay = 1 -->
                             <linksInSequence> <LatestBookingTime>18:00:00</LatestBookingTime> <!-- Noptis.AdvanceOrderCondition.LatestAbsoluteTime -->
                            <ServiceLinkInJourneyPattern order="1" version="any" id="SE:253:ServiceLinkInJourneyPattern:BUS_391"> <!-- <MinimumBookingPeriod>PT2H</MinimumBookingPeriod> <!-- order=Noptis.PointInJourneyPattern.SequenceNumber,Noptis.AdvanceOrderCondition.LatestTimeSpanInAdvanceDurationSeconds --> This is just an example of how it would look like-->
                              <BookingNote>Turen måste förbeställas  0771 - 71 10 20 senast 2 idtimmar is Noptis.Line.DefaultTransportModeCode + a counter. -->
 före avresa från turens starthållplats.</BookingNote> <!-- Noptis.AdvanceOrderCondition.PublicNote -->
                            </FlexibleServiceProperties>
     <ServiceLinkRef ref="SE:253:ServiceLink:BUS_9025005000005016_9025005000122302"/>                      <parts>
          </ServiceLinkInJourneyPattern>                      <!-- JourneyParts with TrainNumberRefs only exists for ServiceJourneys that are trains. <!-->
More ServiceLinkInJourneyPattern elements -->                             </linksInSequence>!-- JourneyParts with TrainNumberRefs exists for trains that change their announced train number during their journey (also called vagnskurs/kursvagnar). -->
                                </JourneyPattern>
                    </journeyPatterns>
!-- The StopPointRefs and times in the example below are wrong with regard to the journeypattern and passingtimes of this ServiceJourney -->
               </ServiceFrame>                 <TimetableFrame<JourneyPart version="20191127125021any" id="SE:253:TimetableFrame:9011005005300000JourneyPart:323200000000003266_tn_0">
<!-- Version is timestamp of export (YYYYMMDDHHmmSS), id=Noptis.Line.Gid -->                     <vehicleJourneys>       <!-- MainPartRef is a self-reference that only exists to pass Netex-validation -->
      <!-- ServiceJourney is based on Noptis.VehicleJourney -->                         <ServiceJourney version="any" id<MainPartRef ref="SE:253:ServiceJourney:55700000049527547"> <!-- id=Noptis.VehicleJourney.Id -->JourneyPart:323200000000003266_tn_0" version="any"/>
                                <PrivateCode>123</PrivateCode> <!-- Not in Noptis but in Stip as VehicleJourney.InternalJourneyNumber. Currently only imported from TRP.30-Post.TURNR and Netex.ServiceJourney. --><TrainNumberRef ref="SE:253:TrainNumber:9011074007000000_70" versionRef="any"/>
                                    <FromStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050016"/>
 <TransportMode>bus</TransportMode> <!-- See the section "General Noptis to Netex mappings" below -->                        <ToStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050019"/>
   <TransportSubmode>                                 <BusSubmode>unknown</BusSubmode> <!-- Netex.TransportSubmode is always mapped to UNKNOWN since that information is not available in NOPTIS. --><StartTime>06:40:00</StartTime>
                                    <EndTime>07:50:00</EndTime>
    </TransportSubmode>                            </JourneyPart>
<dayTypes>                                <JourneyPart <DayTypeRef refversion="any" id="SE:253:DayTypeJourneyPart:323200000000003266_tn_1"/> <!-- See the explanation for ServiceCalendarFrame in the "_shared_data.xml" section -->>
                                    <MainPartRef ref="SE:253:JourneyPart:323200000000003266_tn_1" version="any"/>
       </dayTypes>                             <JourneyPatternRef<TrainNumberRef ref="SE:253:JourneyPatternTrainNumber:557000000350508249011074007000000_74" versionversionRef="any"/>
                                 <OperatorRef   <FromStopPointRef ref="SE:253:OperatorScheduledStopPoint:90130059182000009022005000050020"/>
                                    <ToStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050021"/>
   <trainNumbers>                                 <TrainNumberRef>571</TrainNumberRef> <!-- This field is optional. Based on Noptis.DatedVehicleJourney.announcedTrainNumber --><StartTime>01:21:00</StartTime>
                                    <!-- The StartTimeDayOffset must match the </trainNumbers>DepartureDayOffset of the TimetabledPassingTime. -->
                        <passingTimes>            <!-- If the value is 0 (which is the most common case) this field will not be set at all, like <!-- TimetabledPassingTime is based on CallOnTimedJourneyPattern in the JourneyPart example above. -->

                               <TimetabledPassingTime version="any" id="SE:253:TimetabledPassingTime:55700000049527529"> <!-- id=Noptis.CallOnTimedJourneyPattern.Id --> <StartTimeDayOffset>1</StartTimeDayOffset> 
                                   <StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050829" version="any"/><EndTime>02:00:00</EndTime>
                                    <DepartureTime>06:40:00</DepartureTime> <!-- Noptis.VehicleJourney.PlannedStartOffsetDayTime and Noptis.CallOnTimedJourneyPattern.EarliestDepartureTimeOffsetSeconds The EndTimeDayOffset must match the ArrivalDayOffset of the TimetabledPassingTime. -->
                                 </TimetabledPassingTime>   <!-- If the value is 0 (which is the most common case) this field will not be set at all, like in the JourneyPart example above. -->
   <TimetabledPassingTime version="any" id="SE:253:TimetabledPassingTime:55700000049527530">                               <EndTimeDayOffset>1</EndTimeDayOffset>
     <StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050830" version="any"/>                         </JourneyPart>
           <ArrivalTime>06:41:28</ArrivalTime> <!-- Noptis.VehicleJourney.PlannedStartOffsetDayTime and Noptis.CallOnTimedJourneyPattern.LatestArrivalTimeOffsetSeconds -->            </parts>
                        <DepartureTime>06:41:28</DepartureTime></ServiceJourney>
                    </vehicleJourneys>
           </TimetabledPassingTime>         <!-- Train numbers for TrainNumberRefs for all of the ServiceJourneys in this Line-file. -->
          <!-- More TimtabledPassingTime elements -->        <trainNumbers>
                        <TimetabledPassingTime<TrainNumber version="any" id="SE:253:TimetabledPassingTimeTrainNumber:557000000495275449011074007000000_70">
                            <!-- ForAdvertisement contains the announced train number which should be displayed for passengers. -->
        <StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050844" version="any"/>                  <ForAdvertisement>70</ForAdvertisement>
                  <ArrivalTime>07:50:00</ArrivalTime>      </TrainNumber>
                        <TrainNumber  </TimetabledPassingTime>version="any" id="SE:253:TrainNumber:9011074007000000_74">
                            <<ForAdvertisement>74</passingTimes>ForAdvertisement>
                        </ServiceJourney>TrainNumber>
                    </vehicleJourneys>trainNumbers>
                    <journeyInterchanges>
                        <!-- ServiceJourneyInterchange is based on Noptis.ConnectionCandidate -->
                        <ServiceJourneyInterchange version="any" id="SE:253:ServiceJourneyInterchange:55700000051347301_1A_9022005004136002_55700000050225029_55700000051347301"> <!-- id=Noptis.VehicleJourney.Id + counterA/B + FromPoint + FromJourney + ToJourney -->
                            <Priority>0</Priority> <!--0 = Interchange allowed, -1 = Interchange not allowed -->
                            <Guaranteed>false</Guaranteed> <!-- Always false -->
                            <Advertised>true</Advertised> <!-- Always true -->
                            <FromPointRef ref="SE:253:ScheduledStopPoint:9022005004136002"/> <!-- Noptis.ConnectionCandidate.IsFromFeederVehicleJourneyId -->
                            <ToPointRef ref="SE:253:ScheduledStopPoint:9022005004136006" version="20190516"/> <!-- Noptis.ConnectionCandidate.IsFromFeederVehicleJourneyId -->
                            <FromJourneyRef ref="SE:253:ServiceJourney:55700000050225029"/>  <!-- Noptis.ConnectionCandidate.IsFromFeederVehicleJourneyId -->
                            <ToJourneyRef ref="SE:253:ServiceJourney:55700000051347301" version="any"/>  <!-- Noptis.ConnectionCandidate.IsToFetcherVehicleJourneyId -->
                        </ServiceJourneyInterchange>
                    </journeyInterchanges>
                </TimetableFrame>
            </frames>
        </CompositeFrame>
    </dataObjects>
</PublicationDelivery>

General Noptis to Netex mappings

Netex.ServiceJourney.TransportSubmode

Netex.ServiceJourney.TransportSubmode and Netex.Line.TransportSubmode is always mapped to UNKNOWN since that information is not available in NOPTIS.

...

Netex.ServiceLink.VehicleMode, Netex.ServiceJourney.TransportMode, Netex.Line.TransportMode

(Netex.AllModesEnumeration or Netex.AllVehicleModesOfTransportEnumeration)
Noptis.TransportModeCode.BUS = Netex.BUS
Noptis.TransportModeCode.TRAIN = Netex.RAIL
Noptis.TransportModeCode.TRAM = Netex.TRAM
Noptis.TransportModeCode.METRO = Netex.METRO
Noptis.TransportModeCode.TAXI = Netex.TAXI
Noptis.TransportModeCode.SHIP = Netex.WATER
Noptis.TransportModeCode.FERRY = Netex.WATER
Noptis.TransportModeCode.UNSPECIFIED = Netex.UNKNOWN

...

Netex.StopPlace.TransportMode

Netex.StopPlace.TransportMode has no corresponding field in Noptis. It is instead generated from the Noptis.StopArea.TypeCode:

Noptis.StopAreaTypeCode.AIRPORT = Netex.VehicleModeEnumeration.AIR
Noptis.StopAreaTypeCode.BUSTERM = Netex.VehicleModeEnumeration.BUS
Noptis.StopAreaTypeCode.FERRYBER = Netex.VehicleModeEnumeration.FERRY
Noptis.StopAreaTypeCode.SHIPBER = Netex.VehicleModeEnumeration.FERRY
Noptis.StopAreaTypeCode.METROSTN = Netex.VehicleModeEnumeration.METRO
Noptis.StopAreaTypeCode.RAILWSTN = Netex.VehicleModeEnumeration.RAIL
Noptis.StopAreaTypeCode.TRAMSTN = Netex.VehicleModeEnumeration.TRAM
Noptis.StopAreaTypeCode.TAXITERM = Netex.VehicleModeEnumeration.OTHER;
Noptis.StopAreaTypeCode.UNKNOWN = Netex.VehicleModeEnumeration.OTHER

...

Netex.StopPlace.StopPlaceType

Noptis.StopAreaTypeCode.AIRPORT = Netex.StopTypeEnumeration.AIRPORT
Noptis.StopAreaTypeCode.BUSTERM = Netex.StopTypeEnumeration.BUS_STATION
Noptis.StopAreaTypeCode.FERRYBER = Netex.StopTypeEnumeration.FERRY_STOP
Noptis.StopAreaTypeCode.SHIPBER = Netex.StopTypeEnumeration.FERRY_STOP
Noptis.StopAreaTypeCode.METROSTN = Netex.StopTypeEnumeration.METRO_STATION
Noptis.StopAreaTypeCode.RAILWSTN = Netex.StopTypeEnumeration.RAIL_STATION
Noptis.StopAreaTypeCode.TRAMSTN = Netex.StopTypeEnumeration.TRAM_STATION
Noptis.StopAreaTypeCode.TAXITERM = Netex.StopTypeEnumeration.OTHER
Noptis.StopAreaTypeCode.UNKNOWN = Netex.StopTypeEnumeration.OTHER

...

Netex.StopPlace.Weighting

Noptis.StopPlace.InterchangePriority is used to create the Netex.StopPlace.Weighting. Noptis.StopPlace.InterchangePriority is a value between 1 - 16. A lower number means higher priority in Noptis.

case 1, 2, 3, 4:
return PREFERRED_INTERCHANGE;
case 5, 6, 7, 8, 9, 10, 11, 12:
return RECOMMENDED_INTERCHANGE;
case 13, 14, 15, 16:
return INTERCHANGE_ALLOWED;
default: // interchangePriority < 1 or interchangePriority > 16, this is applicable for other formats than Noptis.
return NO_INTERCHANGE;

...

Netex.StopPointInJourneyPattern.ForAlighting

Noptis.ArrivalType.NO_STOP(0),
Noptis.ArrivalType.NO_ALIGHTING(1) = False

Noptis.ArrivalType.STOP_IF_ALIGHTING(2),
Noptis.ArrivalType.ALWAYS_STOP(3),
Noptis.ArrivalType.FLEXIBLE_ALIGHTING_UPTO_HERE(5) = True

Netex.StopPointInJourneyPattern.ForBoarding

Noptis.DepartureType.NO_STOP(0),
Noptis.DepartureType.NO_BOARDING(1) = False

Noptis.DepartureType.STOP_IF_BOARDING(2),
Noptis.DepartureType.ALWAYS_STOP(3),
Noptis.DepartureType.FLEXIBLE_BOARDING_FROM_HERE(5) = True

Netex.StopPointInJourneyPattern.RequestStop

True if Noptis.ArrivalType.STOP_IF_ALIGHTING(2) or Noptis.DepartureType.STOP_IF_BOARDING(2), otherwise false.

...