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 -->
                    </notices>
                </ServiceFrame>
                <ServiceCalendarFrame version="20191127125021" id="SE:253:ServiceCalendarFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is always 1 -->
                    <!-- The content of ServiceCalendarFrame is created based on Noptis.DatedVehicleJourney.OperatingDayDate but a pattern of runnings days and operating period is constructed to represent that data.
                    Each unique combination of operating days of a Noptis.VehicleJourney will create one DayType. -->
                    <dayType
                        <DayType version="any" id="SE:253:DayType:a33m5mgb2thf88dnl75h8a8jt21i3iqu">
                          <properties>
                            <PropertyOfDay>
                              <DaysOfWeek>Monday Tuesday Wednesday Thursday Friday</DaysOfWeek>
                            </PropertyOfDay>
                          </properties>
                        </DayType>
                        <DayType version="any" id="SE:253:DayType:4vfuvln5ed1bte5nrbf56qees9vakerf">
                          <properties>
                            <PropertyOfDay>
                              <DaysOfWeek>Saturday Sunday</DaysOfWeek>
                            </PropertyOfDay>
                          </properties>                        <CompositeFrame
created="2019-11-27T12:50:21" version="20191127125021" id="SE:253:CompositeFrame:1"> <!-- Version is timestamp of export, id is always 1 -->           </DayType>
 <ValidBetween>                 <FromDate>2005-01-01T00:00:00</FromDate> <!-- Always set to 2005-01-01 -->  </dayTypes>
                </ValidBetween>    <operatingPeriods>
        <codespaces>                <OperatingPeriod <Codespaceversion="any" id="SE:253:OperatingPeriod:221108221209">
<!-- id is same as Xmlns -->                     <Xmlns>253</Xmlns> <!<FromDate>2022-11- 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 -->08T00:00:00</FromDate>
                            <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-09 23:59:59 -->
                        </Codespaced>OperatingPeriod>
            </codespaces>            <OperatingPeriod <FrameDefaults>
version="any" id="SE:253:OperatingPeriod:221212230331">
               <DefaultLocale>             <FromDate>2022-12-12T00:00:00</FromDate>
       <TimeZone>Europe/Stockholm</TimeZone>                     <DefaultLanguage>se</DefaultLanguage><ToDate>2023-04-01T00:00:00</ToDate>
                  </DefaultLocale>      </OperatingPeriod>
          <DefaultLocationSystem>4326</DefaultLocationSystem> <!-- All coordinates are WGS84 -->    </operatingPeriods>         </FrameDefaults>           
 <frames>                 <ResourceFrame version="20191127125021" id="SE:253:ResourceFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is always 1 --> <dayTypeAssignments>
                        <DayTypeAssignment order="1" version="any" id="SE:253:DayTypeAssignment:a33m5mgb2thf88dnl75h8a8jt21i3iqu">
    <organisations>                         <!-- Authority is based on Noptis.TransportAuthority --><OperatingPeriodRef ref="SE:253:OperatingPeriod:221108221209" version="any"/>
                            <Authority version="20131206" id<DayTypeRef ref="SE:253:Authority:9010005000000000"> <!-- version=Noptis.TransportAuthority.ExistsFromDate, id=Noptis.TransportAuthority.Gid -->DayType:a33m5mgb2thf88dnl75h8a8jt21i3iqu" version="any"/>
                        </DayTypeAssignment>
                 <ValidBetween>       <DayTypeAssignment order="1" version="any" id="SE:253:DayTypeAssignment:4vfuvln5ed1bte5nrbf56qees9vakerf">
                      <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.TransportAuthority.ExistsFromDate -->   <OperatingPeriodRef ref="SE:253:OperatingPeriod:221212230331" version="any"/>
                           <!-- ToDate<DayTypeRef ref= Noptis.TransportAuthority.ExistsToDate, in this case "ExistsToDate" is null -->
   "SE:253:DayType:4vfuvln5ed1bte5nrbf56qees9vakerf" version="any"/>
                        </ValidBetween>DayTypeAssignment>
                        <DayTypeAssignment order="2"   <Name>Östgötatrafiken</Name> <!-- Noptis.TransportAuthority.Name --version="any" id="SE:253:DayTypeAssignment:4vfuvln5ed1bte5nrbf56qees9vakerf_221226">
                            <LegalName>Östgötatrafiken</LegalName> <!-- Noptis.Organisation.FormalName --><Date>2022-12-26</Date>
                            <DayTypeRef  <OrganisationType>authority</OrganisationType> <!-- Always "authority" --ref="SE:253:DayType:4vfuvln5ed1bte5nrbf56qees9vakerf" version="any"/>
                        </Authority>
   DayTypeAssignment>                     <!-- More Authority elements -->   
                     <!-- Operator is based on Noptis.Contractor --<DayTypeAssignment order="3" version="any" id="SE:253:DayTypeAssignment:4vfuvln5ed1bte5nrbf56qees9vakerf_230107">
                        <Operator  version="20131211" id="SE:253:Operator:9013005918200000"> <!-- version=Noptis.Contractor.ExistsFromDate, id=Noptis.Contractor.Gid --> <Date>2023-01-07</Date>
                            <DayTypeRef ref="SE:253:DayType:4vfuvln5ed1bte5nrbf56qees9vakerf" version="any"/>
   <ValidBetween>                         <isAvailable>false</isAvailable>
       <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.Contractor.ExistsFromDate -->              </DayTypeAssignment>
                  <!-- ToDate = Noptis.Contractor.ExistsToDate, in this case "ExistsToDate" is null<!-- More DayTypeAssignment elements -->
                    </dayTypeAssignments>
             </ValidBetween>   </ServiceCalendarFrame>
            </frames>
        </CompositeFrame>
   <Name>eBuss Motala<</Name> <!-- Noptis.Contractor.Name -->
                            <LegalName>eBuss i Sverige AB</LegalName> <!-- Noptis.Organisation.FormalNamedataObjects>
</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 export -->
    <ParticipantRef>SAM</ParticipantRef>
    <dataObjects>
        <SiteFrame          <OrganisationType>operator</OrganisationType>version="20191127125021" id="SE:253:SiteFrame:1"> <!-- AlwaysVersion "operator" -->
       is timestamp of export (YYYYMMDDHHmmSS), id is always 1 -->
            <ValidBetween>
   </Operator>                         <FromDate>2005-01-01T00:00:00</FromDate> <!-- MoreAlways Operatorset elementsto 2005-->
       01-01 -->
            </organisations>ValidBetween>
            <codespaces>
   </ResourceFrame>                 <ServiceFrame version="20191127125021"<Codespace id="SE:253:ServiceFrame:1"> <!-- Versionid is timestampsame of export (YYYYMMDDHHmmSS), id is always 1 as Xmlns -->
                    <Xmlns>253</Xmlns> <!-- EachFrom unique Noptis.Line.IsDefinedByTransportAuthority will create a Network with the AuthorityRef. In this case there is only one,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 additionalsource Networks-->
would be placed in an "additionalNetworks" element. -->         </Codespace>
           <Network version="20131206" id="SE:253:Network:9010005000000000"> <!-- version=Noptis.TransportAuthority.ExistsFromDate, id=Noptis.TransportAuthority.Gid --> </codespaces>
            <FrameDefaults>
                <DefaultLocale>
   <Name>Östgötatrafiken</Name> <!-- Noptis.TransportAuthority.Name -->              <TimeZone>Europe/Stockholm</TimeZone>
          <AuthorityRef ref="SE:253:Authority:9010005000000000" version="20131206"/>        <DefaultLanguage>se</DefaultLanguage>
                <!-- WIP, Netex.GroupOfLines is based on Noptis.GroupOfLines -->/DefaultLocale>
                <DefaultLocationSystem>4326</DefaultLocationSystem> <!-- All coordinates are WGS84 -->
            </FrameDefaults>
<groupsOfLines>            <topographicPlaces>
                <GroupOfLines<TopographicPlace version="1any" id="SE:253005:GroupOfLinesTopographicPlace:1NO">
                     <IsoCode>NO</IsoCode>
          <ValidBetween>          <Descriptor>
                          <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.GroupOfLines.ExistsFromDate --><Name>Norway</Name>
                    </Descriptor>
                <!-- ToDate = Noptis.GroupOfLines.ExistsToDate, in this case "ExistsToDate" is null --> <TopographicPlaceType>country</TopographicPlaceType>
                    <CountryRef ref="no"/>
                </ValidBetween>TopographicPlace>
                <TopographicPlace version="any" id="SE:005:TopographicPlace:SE">
                    <Name>Spårvagn<<IsoCode>SE</Name>IsoCode>
<!-- Noptis.GroupOfLines.Name -->                  <Descriptor>
              <PrivateCode>SPV</PrivateCode> <!-- Noptis.GroupOfLine.Code -->       <Name>Sweden</Name>
                    </Descriptor>
    <members>                <TopographicPlaceType>country</TopographicPlaceType>
                    <LineRef<CountryRef ref="SE:253:Line:9011005005300000se"/>
<!-- Based on Noptis.LineInGroupOfLines -->            </TopographicPlace>
                <TopographicPlace    </members>
  version="any" id="SE:005:TopographicPlace:SE_1">
                    <PrivateCode>01</PrivateCode>
    </GroupOfLines>                <IsoCode>SE-01</IsoCode>
        </groupsOfLines>            <Descriptor>
        </Network>                <Name>Stockholms län</Name>
   <routePoints>                 </Descriptor>
       <!-- RoutePoint, ScheduledStopPoint, PassengerStopAssignment are all based on Noptis.StopPoint -->     <TopographicPlaceType>county</TopographicPlaceType>
                   <RoutePoint version="20190426" id="SE:253:RoutePoint:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid --><CountryRef ref="se"/>
                    <ParentTopographicPlaceRef   ref="SE:005:TopographicPlace:SE" version="any"/>
        <projections>        </TopographicPlace>
                        <PointProjection <TopographicPlace version="20190426any" id="SE:253005:PointProjectionTopographicPlace:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid --SE_0160">
                    <PrivateCode>0160</PrivateCode>
               <ProjectedPointRef ref="SE:253:ScheduledStopPoint:9022005000001001" version="20190426"/>   <Descriptor>
                        <Name>Täby kommun</Name>
   </PointProjection>                 </Descriptor>
           </projections>         <TopographicPlaceType>municipality</TopographicPlaceType>
               </RoutePoint>     <CountryRef ref="se"/>
                  <!-- More RoutePoint elements --<ParentTopographicPlaceRef ref="SE:005:TopographicPlace:SE_1" version="any"/>
                </TopographicPlace>
      </routePoints>          <TopographicPlace version="any" id="SE:005:TopographicPlace:SE_0162">
          <destinationDisplays>          <PrivateCode>0162</PrivateCode>
              <!-- DestinationDisplay is based on Noptis.DestinationDisplay --> <Descriptor>
                        <!-- DestinationDisplays that are used as "via" are created from each Noptis.DestinationDisplay.SecondaryDestinationName. Theses elements are recognized by having "via_" prepended to their id.<Name>Danderyds kommun</Name>
                    </Descriptor>
                    <TopographicPlaceType>municipality</TopographicPlaceType>
   In the example below, both DestinationDisplay elements are created from the same Noptis.DestinationDisplay. -->    <CountryRef ref="se"/>
                   <DestinationDisplay version="any" id<ParentTopographicPlaceRef ref="SE:253005:DestinationDisplayTopographicPlace:via_55700000037211691"> <!-- id=Noptis.DestinationDisplay.Id -->SE_1" version="any"/>
                </TopographicPlace>
               <FrontText>Västerlösa</FrontText> <!-- Noptis.DestinationDisplay.SecondaryDestinationName -->
       More TopographicPlace elements. All counties and municipalities in Sweden -->                
    <PublicCode>573</PublicCode> <!-- Noptis.DestinationDisplay.LineDesignation -->     </topographicPlaces>
                 <groupsOfStopPlaces>  </DestinationDisplay>!-- GroupOfStopPlace is based on Noptis.Site -->
              <GroupOfStopPlaces    <DestinationDisplay version="any20120623" id="SE:253001:DestinationDisplayGroupOfStopPlaces:557000000372116919091001000000103"> <!-- version=Noptis.Site.ExistsFromDate, id=Noptis.DestinationDisplaySite.IdGid -->
                    <ValidBetween>
                       <FrontText>Malmslätt</FrontText> <FromDate>2012-06-23T00:00:00</FromDate> <!-- Noptis.DestinationDisplaySite.PrimaryDestinationNameExistsFromDate -->
                    </ValidBetween>
       <PublicCode>573</PublicCode> <!-- Noptis.DestinationDisplay.LineDesignation -->          <Name>Nämdöböte</Name> <!-- Noptis.Site.Name -->
               <vias>     <Description>Nämdö</Description> <!-- Noptis.Site.PublicNote -->
                    <PrivateCode>103</PrivateCode> <!-- Noptis.Site.Number -->
<Via>                    <members>
                <DestinationDisplayRef ref="SE:253:DestinationDisplay:via_55700000037211691" version="any"/>      <!-- StopPlaceRefs are based          on Noptis.SiteNeighbouringStopArea -->
             </Via>           <StopPlaceRef ref="SE:001:StopPlace:9021001000103000" version="20210224"/> <!-- ref=Noptis.StopArea.Gid, version=Noptis.StopArea.ExistsFromDate -->
           </vias>             <StopPlaceRef ref="SE:001:StopPlace:9021005000001000" version="20161213"/> <!-- ref=Noptis.StopArea.Gid, version=Noptis.StopArea.ExistsFromDate -->
     </DestinationDisplay>               </members>
         <!-- More DestinationDisplay elements -->       <Centroid>
             </destinationDisplays>           <Location srsName="WGS84"> <!-- Noptis.Site.CoordinateSystemName -->
     <scheduledStopPoints>                       <Longitude>18.739921</Longitude>  <!-- RoutePoint, ScheduledStopPoint, PassengerStopAssignment are all based on Noptis.StopPointSite.CentroidEastingCoordinate -->
                          <ScheduledStopPoint version="20190426" id="SE:253:ScheduledStopPoint:9022005000001001"> <Latitude>59.208826</Latitude> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.GidSite.CentroidNorthingCoordinate -->
                        </Location>
        <Name>Norr Tull</Name> <!-- Noptis.StopPoint.Name -->        </Centroid>
                </ScheduledStopPoint>GroupOfStopPlaces>
            </groupsOfStopPlaces>
            <stopPlaces> <!-- StopPlace is Morebased ScheduledStopPointon elementsNoptis.StopArea -->
                <StopPlace version="20161213" id="SE:253:StopPlace:9021005000001000"> <!--  </scheduledStopPoints>version=Noptis.StopArea.ExistsFromDate, id=Noptis.StopArea.Gid -->
                    <serviceLinks><ValidBetween>
                        <FromDate>2016-12-13T00:00:00</FromDate> <!-- ServiceLink is based on Noptis.RouteLinkStopArea.ExistsFromDate -->
 >
                      <ServiceLink version="20190213" id="SE:253:ServiceLink:BUS_9025005000136402_9025005000005702"> <!-- ToDate version= Noptis.RouteLinkStopArea.ExistsFromDateExistsToDate, in this case "ExistsToDate" is null -->
                    </ValidBetween>
 id=Noptis.RouteLinkTraversableByTransportModeCode.TransportModeCode + Noptis.RouteLink.StartsAtJourneyPatternPointGid + Noptis.RouteLink.EndsAtJourneyPatternPointGid -->              <Name>Norr Tull</Name> <!-- Noptis.StopArea.Name -->
           <ValidBetween>         <ShortName>Norr Tull</ShortName> <!-- Noptis.StopArea.ShortName -->
                    <FromDate>2019-02-13T00:00:00</FromDate><PrivateCode>1</PrivateCode> <!-- Noptis.RouteLinkStopArea.ExistsFromDateNumber -->
                    <Centroid>
           <!-- ToDate = Noptis.RouteLink.ExistsToDate, in this case "ExistsToDate" is null -->             <Location>
                            <Longitude>16.176723</Longitude> <!--  </ValidBetween>Noptis.StopArea.CentroidEastingCoordinate -->
                            <Distance>338<<Latitude>58.594850</Distance>Latitude> <!-- Noptis.RouteLinkStopArea.DistanceMetersCentroidNorthingCoordinate -->
                        </Location>
       <projections>             </Centroid>
                   <LinkSequenceProjection version="20190213" id<TopographicPlaceRef ref="SE:253005:LinkSequenceProjectionTopographicPlace:BUS_9025005000136402_9025005000005702"SE_0160" version="any"/> <!-- SameStops IDin asSweden parentare ServiceLinklinked -->to their Municipality. Stops in other countries are linked to their Country. -->
                        <ns2:LineString srsName="4326" ns2:id="LS_BUS_9025005000136402_9025005000005702"<OrganisationRef ref="SE:253:Authority:9010005000000000"/> <!-- Same ID as parent ServiceLink but with "LS_" prepended -->
           Noptis.StopArea.IsDefinedByTransportAuthortiy -->
                    <entrances> <!-- Entrances are based on Noptis.StationEntrancePoint -->
<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>  <StopPlaceEntrance version="20120623" id="SE:275:StopPlaceEntrance:9023001006651001"> <!-- version=Noptis.StationEntrancePoint.ExistsFromDate, id=Noptis.StationEntrancePoint.Gid -->
                            <ValidBetween>
           <!-- Each coordinate pair is created from one Noptis.PointOnRouteLink -->            <FromDate>2014-03-11T00:00:00</FromDate>  <!-- Noptis.StationEntrancePoint.ExistsFromDate but not earlier than parent StopPlace.FromDate -->
              </ns2:LineString>                  <!-- ToDate = Noptis.StationEntrancePoint.ExistsToDate, in this case "ExistsToDate" is null, not later than parent  </LinkSequenceProjection>StopPlace.ToDate -->
                            </projections>ValidBetween>
                            <FromPointRef ref="SE:253:ScheduledStopPoint:9022005001364002" version="20190426"/><Name>Djursholms Ösby</Name> <!-- Noptis.RouteLinkStationEntrancePoint.StartsAtJourneyPatternPointGidName -->
                            <ToPointRef ref="SE:253:ScheduledStopPoint:9022005000057002" version="20190426"/> <!-- Noptis.RouteLink.EndsAtJourneyPatternPointGid --><Centroid>
                                <Location>
                <VehicleMode>bus</VehicleMode> <!-- See the section "General Noptis to Netex mappings" below -->         <Longitude>18.058320</Longitude> <!-- Noptis.StationEntrancePoint.LocationEastingCoordinate -->
            </ServiceLink>                        <Latitude>59.397925</Latitude> <!-- More ServiceLink elementsNoptis.StationEntrancePoint.LocationNorthingCoordinate -->
                        </serviceLinks>        </Location>
               <stopAssignments>             </Centroid>
           <!-- RoutePoint, ScheduledStopPoint, PassengerStopAssignment are all based on Noptis.StopPoint -->    </StopPlaceEntrance>
                    <PassengerStopAssignment order="0" version="20190426" id="SE:253:PassengerStopAssignment:9022005000001001"> <!-- More StopPlaceEntrance elements -- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid, "order" is always 0 -->>
                    </entrances>
                    <TransportMode>bus</TransportMode> <!-- See the <ScheduledStopPointRefsection ref="SE:253:ScheduledStopPoint:9022005000001001" version="20190426"/>"General Noptis to Netex mappings" below -->
                    <tariffZones>
                        <QuayRef<TariffZoneRef ref="SE:253005:Quay:9022005000001001TariffZone:9081005201004216" version="160620"/> <!-- Tariff zones this stop area belongs to , Noptis.JourneyPatternPointInZone aggregated on StopArea level -->
          </PassengerStopAssignment>          </tariffZones>
              <!-- More PassengerStopAssignment elements -->  <StopPlaceType>busStation</StopPlaceType> <!-- See the section "General Noptis to Netex mappings" below -->
       </stopAssignments>             <Weighting>interchangeAllowed</Weighting> <!-- See the section "General Noptis to <notices>Netex mappings" below -->
                    <quays> <!-- NoticeQuay is based on Noptis.StopPoint and Noptis.AdvanceOrderConditionJourneyPatternPoint -->
                        <Notice<Quay version="any20180419" id="SE:253:NoticeQuay:557000000509315839022005000001001"> <!-- idversion=Noptis.AdvanceOrderConditionStopPoint.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.PublicNoteExistsFromDate, id=Noptis.StopPoint.Gid -->
                        </Notice>             <ValidBetween>
           <!-- More Notice elements -->                     </notices>            <FromDate>2019-04-26T00:00:00</FromDate> <!-- Noptis.StopPoint.ExistsFromDate but not </ServiceFrame>earlier than parent StopPlace.FromDate -->
            <ServiceCalendarFrame version="20191127125021" id="SE:253:ServiceCalendarFrame:1"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id is always 1 -->      <!-- ToDate = Noptis.StopPoint.ExistsToDate, in this case "ExistsToDate" is null, not later than parent StopPlace.ToDate <!-->
   The  content of ServiceCalendarFrame is created based on Noptis.DatedVehicleJourney.OperatingDayDate. Each unique combination of operating days of a Noptis.VehicleJourney will create one DayType.   </ValidBetween>
                 The DayType contains each Noptis.DatedVehicleJourney.OperatingDayDate as a DayTypeAssignment. OperatingPeriods or exceptions (DayTypeAssignment.isAvailable) are NOT used.<Name>Norr Tull</Name> <!-- Noptis.StopPoint.Name -->
                    <dayType        <ShortName>Norr Tull</ShortName> <!-- Noptis.StopPoint.ShortName -->
            <DayType version="any" id="SE:253:DayType:1"/>              <PrivateCode>1</PrivateCode> <!-- Noptis.StopPoint.LocalNumber -->
       <DayType version="any" id="SE:253:DayType:2"/>                   <Centroid>
     <DayType version="any" id="SE:253:DayType:3"/>                         <DayType<Location>
version="any" id="SE:253:DayType:4"/>                         <DayType version="any" id="SE:253:DayType:5"/>        <Longitude>16.177052</Longitude>    <!-- Noptis.JourneyPatternPoint.LocationEastingCoordinate -->
            <DayType version="any" id="SE:253:DayType:6"/>                      <Latitude>58.595038</Latitude> <!--  <DayType version="any" id="SE:253:DayType:7"/Noptis.JourneyPatternPoint.LocationNorthingCoordinate -->
                        <DayType version="any" id="SE:253:DayType:8"/>      </Location>
                  <DayType version="any" id="SE:253:DayType:9"/>        </Centroid>
                <DayType version="any" id="SE:253:DayType:10"/>          <!-- WIP, Netex.ZoneProjections are based on Noptis.JourneyPatternPointInZone -->
       <DayType version="any" id="SE:253:DayType:11"/>                    <projections>
    <DayType  version="any" id="SE:253:DayType:12"/>                         <DayType<ZoneProjection version="any" id="SETEST:253ZoneProjection:DayType:131"/>
                     </dayTypes>               <ProjectedZoneRef ref="TEST:TopographicPlace:1"/>
    <dayTypeAssignments>                         <DayTypeAssignment order="1" version="any" id="SE:253:DayTypeAssignment:1-20191125"> </ZoneProjection>
                            <Date>2019-11-25</Date></projections>
                            <DayTypeRef ref="SE:253:DayType:1" version="any"/>
  <PublicCode>A</PublicCode> <!-- Noptis.StopPoint.Designation -->
                     </DayTypeAssignment>       <equipmentPlaces> <!-- Based on Noptis              <DayTypeAssignment order="2" version="any" id="SE:253:DayTypeAssignment:1-20191126"ConnectionLink, ObstacleOnLink, BridgingDevice -->
                            <Date>2019-11-26</Date>
         <EquipmentPlace version="any" id="SE:001:EquipmentPlace:14010000311143397"> <!-- id = Noptis.BridgingDevice.Id -->
                    <DayTypeRef ref="SE:253:DayType:1" version="any"/>            <placeEquipments>
            </DayTypeAssignment>                         <DayTypeAssignment order="3"<EntranceEquipment version="any" id="SE:253001:DayTypeAssignment:1-20191127">EntranceEquipment:14010000311143397"> <!-- id = Noptis.BridgingDevice.Id -->
                              <Date>2019-11-27</Date>            <Door>true</Door> <!-- Noptis.BridgingDevice (TypeCode = DOOR) -->
          <DayTypeRef ref="SE:253:DayType:1" version="any"/>                           </DayTypeAssignment>
EntranceEquipment>
                       <!-- More DayTypeAssignment elements -->       </placeEquipments>
             </dayTypeAssignments>                 </ServiceCalendarFrame>EquipmentPlace>
                   </frames>         </CompositeFrame>equipmentPlaces>
          </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> <!--/Quay>
Timestamp of export -->     <ParticipantRef>SAM</ParticipantRef>     <dataObjects>         <SiteFrame version="20191127125021" id="SE:253:SiteFrame:1"> <!-- More VersionQuay iselements timestamp-->
of export (YYYYMMDDHHmmSS), id is always 1 -->             <ValidBetween></quays>
                <FromDate>2005-01-01T00:00:00</FromDate></StopPlace>
                <!-- AlwaysMore set to 2005-01-01StopPlace elements -->
            </ValidBetween>stopPlaces>
            <tariffZones>
<codespaces>                <TariffZone <Codespaceversion="160620" id="253SE:005:TariffZone:9081005201004216"> <!-- idNoptis.Zone iswhere sameTypeCode as Xmlns -->
      == "TARIFFZO". version=Noptis.Zone.ExistsFromDate id=Noptis.Zone.Gid -->
             <Xmlns>253</Xmlns> <!-- From Samtrafiken's registry of producer numbers,<ValidBetween>
based on data source -->                     <XmlnsUrl>http://www.samtrafiken.se/ns/Östgötatrafiken</XmlnsUrl><FromDate>2016-06-20T00:00:00</FromDate> <!-- "Östgötatrafiken" is based on data source -->existsFromDate -->
                    </Codespace>ValidBetween>
            </codespaces>        <Name>Norrköping</Name> <!-- Name -->
 <FrameDefaults>                 <DefaultLocale>  <ShortName>Norrköping</ShortName> <!-- Shortname -->
               <TimeZone>Europe/Stockholm</TimeZone>     <PrivateCode>1004216</PrivateCode> <!-- Number -->
            <DefaultLanguage>se</DefaultLanguage>    </TariffZone>
            </DefaultLocale>tariffZones>
            <navigationPaths> 
               <DefaultLocationSystem>4326</DefaultLocationSystem> <!-- AllNavigationPath is coordinatesbased areon WGS84 -->
       Noptis.ConnectionLink when 'From' and 'To' are both Quay references -->
    </FrameDefaults>             <!-- WIP, TopographicPlaceNavigationPath is based on Noptis.Zone . TopographicPlaces are referenced from Quays through ZoneProjectionsStationEntryLink when 'From' is a StopPlaceEntrance reference and 'To' is a Quay reference -->
            <topographicPlaces>
                <TopographicPlace version="any" id="SE:253:TopographicPlace:1"    <!-- NavigationPath is based on Noptis.StationExitLink when 'From' is a Quay reference and 'To' is a StopPlaceEntrance reference -->
                <!-- NavigationPath may contain validityConditions and <ValidBetween>timebands if they have limited dates and opening hours -->  
             <FromDate>2016-12-13T00:00:00</FromDate> <!-- Noptis.Zone.ExistsFromDate   <NavigationPath version="20180504" id="SE:253:NavigationPath:55700000046273098"> <!-- version=Noptis.ConnectionLink.ExistsFromDate, id=Noptis.ConnectionLink.Id -->
                       <Distance>0</Distance> <!-- ToDate version= Noptis.ConnectionLink.ZoneDistanceMeters.ExistsToDate, inIf thisnull, caseDistance "ExistsToDate"will isbe null0 -->
                    <From>
    </ValidBetween>                    <PlaceRef  <Name>Boxholm</Name>ref="SE:253:Quay:9022005000100216" version="20140218"/> <!-- version=Noptis.ZoneStopPoint.Name -->
                    <PrivateCode>0560</PrivateCode> <!-- Noptis.Zone.NumberExistsFromDate id=Noptis.StopPoint.Gid from Noptis.ConnectionLink.StartsAtJourneyPatternPoint -->
                    <TopographicPlaceType>municipality</TopographicPlaceType> <!-- Based on Noptis.Zone.ZoneTypeCode --></From>
                    <To>
   </TopographicPlace>             </topographicPlaces>        <PlaceRef    ref="SE:253:Quay:9022005000102017" version="20181204"/> <!-- WIP, GroupOfStopPlace is based on Noptis.Siteversion=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.ConnectionLink.EndsAtJourneyPatternPoint -->
             <groupsOfStopPlaces>               <GroupOfStopPlaces></GroupOfStopPlaces></To>
            </groupsOfStopPlaces>          <TransferDuration>
  <stopPlaces> <!-- StopPlace is based on Noptis.StopArea -->                 <StopPlace version="20161213" id="SE:253:StopPlace:9021005000001000"> <DefaultDuration>PT6M</DefaultDuration> <!-- version=Noptis.StopArea.ExistsFromDate, id=Noptis.StopArea.GidConnectionLink.DefaultDurationSeconds -->
                    <ValidBetween></TransferDuration>
                    <AccessibilityAssessment    <FromDate>2016-12-13T00:00:00</FromDate>version="20180504" id="SE:275:AccessibilityAssessment:4010000565163766"> <!-- Noptis.StopArea.SE:<producerNumber>:AccessibilityAssessment:<obstacleOnLinkId> , version=ObstacleOnLink.ExistsFromDate -->
                      <MobilityImpairedAccess>unknown</MobilityImpairedAccess>  <!-- ToDate = Noptis.StopArea.ExistsToDateAlways unknown, inrequired thisfield casebut "ExistsToDate"data is not nullavailable  -->
                    </ValidBetween>  <limitations>
                  <Name>Norr Tull</Name> <!-- Noptis.StopArea.Name -->    <AccessibilityLimitation>
                <ShortName>Norr Tull</ShortName> <!-- Noptis.StopArea.ShortName -->          <WheelchairAccess>unknown</WheelchairAccess> <!-- Always unknown, required field but data is not available <PrivateCode>1</PrivateCode> <!-->
Noptis.StopArea.Number -->                     <Centroid>        <StepFreeAccess>false</StepFreeAccess>  <!-- BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'STAIRWAY'.  -->
<Location>                              <Longitude>16.176723<<EscalatorFreeAccess>unknown</Longitude>EscalatorFreeAccess> <!-- Noptis.StopArea.CentroidEastingCoordinateBridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'ESCALAT'.  -->
                              <Latitude>58.594850<<LiftFreeAccess>unknown</Latitude>LiftFreeAccess> <!-- Noptis.StopArea.CentroidNorthingCoordinate -->
                 BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'ELEVATOR'.  -->
      </Location>                     </Centroid>AccessibilityLimitation>
                    <OrganisationRef ref="SE:253:Authority:9010005000000000"/> <!-- Noptis.StopArea.IsDefinedByTransportAuthortiy -->/limitations>
                   </AccessibilityAssessment>
  <entrances> <!-- Entrances are based on Noptis.StationEntrancePoint -->       </NavigationPath>
                <NavigationPath <StopPlaceEntrance version="20120623" id="SE:275251:StopPlaceEntranceNavigationPath:902300100665100114010000311143757"> <!-- version=Noptis.StationEntrancePointStationEntryLink.ExistsFromDate, id=Noptis.StationEntrancePoint.Gid -->
                            <ValidBetween>
          StationEntryLink.Id -->
                     <FromDate>2014-03-11T00:00:00</FromDate>  <Distance>2.0</Distance> <!-- version=Noptis.StationEntrancePointStationEntryLink.DistanceMeters.ExistsFromDate butIf notnull, earlierDistance thanwill parentbe StopPlace.FromDate0 -->
                    <From>
                        <PlaceRef ref="SE:251:StopPlaceEntrance:9023001006651002" version="20120623"/> <!-- ToDate = version=Noptis.StationEntrancePoint.ExistsFromDate id=Noptis.StationEntrancePoint.ExistsToDate, in this case "ExistsToDate" is null, not later than parent StopPlace.ToDate -->Gid -->
                    </From>
                  </ValidBetween>  <To>
                        <PlaceRef  <Name>Djursholms Ösby</Name> <!-- Noptis.StationEntrancePoint.Nameref="SE:251:Quay:9022003719007001" version="20150827"/> <!-- version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.StationEntryLink.EndsAtJourneyPatternPoint -->
                    </To>
       <Centroid>             <TransferDuration>
                   <Location>                                     <Longitude>18.058320</Longitude><DefaultDuration>PT3M1S</DefaultDuration> <!-- version=Noptis.StationEntrancePointStationEntryLink.LocationEastingCoordinateDefaultDurationSeconds -->
                    </TransferDuration>
               <Latitude>59.397925</Latitude> <!-- Noptis.StationEntrancePoint.LocationNorthingCoordinate -->/NavigationPath>
                <NavigationPath version="20120623" id="SE:251:NavigationPath:14010000311147186"> <!-- version=Noptis.StationExitLink.ExistsFromDate, id=Noptis.StationExitLink.Id -->
           </Location>         <Distance>3.0</Distance> <!-- version=Noptis.StationExitLink.DistanceMeters. If null, Distance will              </Centroid>
be 0 -->
                    <From>
  </StopPlaceEntrance>                      <PlaceRef ref="SE:251:Quay:9022003719007002" version="20150827"/> <!-- More StopPlaceEntrance elements version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.StationExitLink.StartsAtJourneyPatternPoint -->
                    </entrances>From>
                    <TransportMode>bus</TransportMode> <!-- See the section "General Noptis to Netex mappings" below --><To>
                        <PlaceRef ref="SE:251:StopPlaceEntrance:9023001006661001" version="20120623"/> <!-- version=Noptis.StationEntrancePoint.ExistsFromDate id=Noptis.StationEntrancePoint.Gid -->
  <StopPlaceType>busStation</StopPlaceType> <!-- See the section "General Noptis to Netex mappings" below -->       </To>
             <Weighting>interchangeAllowed</Weighting> <!-- See the section "General Noptis to<TransferDuration>
Netex mappings" below -->                     <quays><DefaultDuration>PT3M2S</DefaultDuration> <!-- version=Noptis.StationExitLink.DefaultDurationSeconds -->
Quay   is based on Noptis.StopPoint and Noptis.JourneyPatternPoint -->           </TransferDuration>
             <Quay version="20180419" id="SE:253:Quay:9022005000001001"> <!-- version=Noptis.StopPoint.ExistsFromDate, id=Noptis.StopPoint.Gid --> </NavigationPath>
                <pathLinksInSequence>
                <ValidBetween>    <PathLinkInSequence order="1" version="any" id="SE:001:PathLinkInSequence:14010000311183662-1">
                         <FromDate>2019-04-26T00:00:00</FromDate><LinkSequenceRef ref="SE:001:PathLink:14010000311183662-1" version="20120623"/> <!-- ref=Noptis.StopPoint.ExistsFromDate but not earlier than parent StopPlace.FromDateConnectionLink.Id-1, version=Noptis.ConnectionLink.ExistsFrom -->
                    </PathLinkInSequence>
              <!-- ToDate = Noptis.StopPoint.ExistsToDate, in this case<PathLinkInSequence order="ExistsToDate2" is null, not later than parent StopPlace.ToDate -->version="any" id="SE:001:PathLinkInSequence:14010000311183662-2">
                        <LinkSequenceRef ref="SE:001:PathLink:14010000311183662-2" version="20120623"/> <!-- ref=Noptis.ConnectionLink.Id-2, version=Noptis.ConnectionLink.ExistsFrom -->
       </ValidBetween>             </PathLinkInSequence>
               <Name>Norr Tull<</Name>pathLinksInSequence>
<!-- Noptis.StopPoint.Name -->              <!-- More NavigationPath elements -->
          <ShortName>Norr Tull</ShortName> <!-- Noptis.StopPoint.ShortName -->/navigationPaths>
            <pathLinks>
              <PathLink version="20120623"  <PrivateCode>1</PrivateCode>id="SE:001:PathLink:14010000311183662-1">  <!-- id=Noptis.ConnectionLink.Id-1, version=Noptis.StopPointConnectionLink.LocalNumberExistsFrom -->
                <ValidBetween>
           <Centroid>       <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.ConnectionLink.ExistsFromDate -->
                  <!-- ToDate =  <Location>Noptis.ConnectionLink.ExistsToDate, in this case "ExistsToDate" is null -->
                </ValidBetween>
                <From>
  <Longitude>16.177052</Longitude> <!-- Noptis.JourneyPatternPoint.LocationEastingCoordinate -->             <PlaceRef ref="SE:001:Quay:9022001070462002" version="20140603"/> <!-- id=Noptis.StopPoint.Gid, version=Noptis.StopPoint.Gid -->
                 <Latitude>58.595038</Latitude> <!-- Noptis.JourneyPatternPoint.LocationNorthingCoordinate --></From>
                <To>
                  </Location>
    <PlaceRef ref="SE:001:EquipmentPlace:14010000311143397" version="any"/> <!-- id=Noptis.BridgingDevice.id -->
                </To>
      </Centroid>        </PathLink>
              <PathLink    version="20120623" id="SE:001:PathLink:14010000311183662-2">  <!-- WIPid=Noptis.ConnectionLink.Id-2, Netex.ZoneProjections are based on Noptis.JourneyPatternPointInZoneversion=Noptis.ConnectionLink.ExistsFrom -->
                <From>
           <projections>       <PlaceRef ref="SE:001:EquipmentPlace:14010000311143397" version="any"/> <!--         id=Noptis.BridgingDevice.id -->
             <ZoneProjection version="any" id="TEST:ZoneProjection:1">
 </From>
                <To>
                  <ProjectedZoneRef<PlaceRef ref="TESTSE:001:TopographicPlace:1"/>
Quay:9022001070462001" version="20140603"/> <!-- id=Noptis.StopPoint.Gid, version=Noptis.StopPoint.Gid -->
                </To>
              </ZoneProjection>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"   </projections>
                            <PublicCode>A</PublicCode> <!-- Noptis.StopPoint.Designation -->
                            <equipmentPlaces>xmlns:ns2="http://www.opengis.net/gml/3.2" xmlns:ns3="http://www.siri.org.uk/siri">
    <PublicationTimestamp>2019-11-27T12:50:21</PublicationTimestamp> <!-- BasedTimestamp on Noptis ConnectionLink, ObstacleOnLink, BridgingDevice of export -->
    <ParticipantRef>SAM</ParticipantRef>
    <dataObjects>
                    <EquipmentPlace <CompositeFrame created="2019-11-27T12:50:21" version="any20191127125021" id="SE:001253:EquipmentPlaceCompositeFrame:140100003111433979011005005300000"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id will always = Noptis.BridgingDevice.Idbe 1 -->
            <ValidBetween>
                <FromDate>2005-01-01T00:00:00</FromDate> <!-- Always set to 2005-01-01 -->
  <placeEquipments>          </ValidBetween>
            <codespaces>
               <EntranceEquipment version="any"<Codespace id="SE:001:EntranceEquipment:14010000311143397253"> <!-- id = Noptis.BridgingDevice.Id --> is same as Xmlns -->
                    <Xmlns>253</Xmlns> <!-- From Samtrafiken's registry of producer numbers, based on data source -->
                    <Door>true</Door><XmlnsUrl>http://www.samtrafiken.se/ns/Östgötatrafiken</XmlnsUrl> <!-- Noptis.BridgingDevice (TypeCode = DOOR) "Östgötatrafiken" is based on data source -->
                </Codespace>
            </codespaces>
            <FrameDefaults>
  </EntranceEquipment>              <DefaultLocale>
                    </placeEquipments><TimeZone>Europe/Stockholm</TimeZone>
                    <DefaultLanguage>se</DefaultLanguage>
                </EquipmentPlace>DefaultLocale>
                <DefaultLocationSystem>4326</DefaultLocationSystem> <!-- All coordinates are WGS84 -->
            </equipmentPlaces>FrameDefaults>
            <frames>
           </Quay>     <ServiceFrame version="20191127125021" id="SE:253:ServiceFrame:9011005005300000"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id=Noptis.Line.Gid -->
           <!-- More Quay elements -->     <routes>
               </quays>         <!-- Route is based on Noptis.JourneyPattern and  </StopPlace>
     Noptis.DirectionOfLine. Each Noptis.JourneyPattern will create a Route. -->
          <!-- More StopPlace elements -->          <Route version="any"  </stopPlaces>id="SE:253:Route:55700000035050824">
             <navigationPaths>                <Name>Motala</Name>  <!-- NavigationPath is based on Noptis.ConnectionLink when 'From' and 'To' are both Quay references -->.DirectionOfLine.Name -->
                         <!-- NavigationPath is based on Noptis.StationEntryLink when 'From' is a StopPlaceEntrance reference and 'To' is a Quay reference --><LineRef ref="SE:253:Line:9011005005300000" version="20131215"/>
                            <DirectionType>outbound</DirectionType> <!-- NavigationPath is based on Noptis.StationExitLink when 'From' is a Quay reference and 'To' is a StopPlaceEntrance reference -->Noptis.DirectionOfLine.DirectionCode. ODD = outbound, EVEN = inbound. -->
                          <!-- NavigationPath may<pointsInSequence>
contain validityConditions and timebands if they have limited dates and opening hours -->                   <NavigationPath version="20180504" id="SE:253:NavigationPath:55700000046273098"> <!-- version=Noptis.ConnectionLink.ExistsFromDate, id=Noptis.ConnectionLink.Id PointOnRoute is based on Noptis.PointInJourneyPattern -->
                                 <Distance>0</Distance><PointOnRoute order="1" version="any" id="SE:253:PointOnRoute:55700000035050829"> <!-- versionorder=Noptis.ConnectionLink.DistanceMeters. If null, Distance will be 0 PointInJourneyPattern.SequenceNumber, id=Noptis.PointInJourneyPattern.Id -->

                   <From>                         <PlaceRef<RoutePointRef ref="SE:253:Quay:9022005000100216" version="20140218RoutePoint:9022005000050016"/>
<!-- version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.ConnectionLink.StartsAtJourneyPatternPoint -->                     </From>      </PointOnRoute>
              <To>                  <!-- More PointOnRoute elements -->
  <PlaceRef ref="SE:253:Quay:9022005000102017" version="20181204"/> <!-- version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from Noptis.ConnectionLink.EndsAtJourneyPatternPoint -->                  </pointsInSequence>
  </To>                     <TransferDuration> </Route>
                       <DefaultDuration>PT6M</DefaultDuration> <!-- version=Noptis.ConnectionLink.DefaultDurationSeconds-- More Route elements -->
                    </TransferDuration>routes>
                    <AccessibilityAssessment version="20180504" id="SE:275:AccessibilityAssessment:4010000565163766"> <!-- SE:<producerNumber>:AccessibilityAssessment:<obstacleOnLinkId> , version=ObstacleOnLink.ExistsFromDate --><lines>
                        <!-- Line is based <MobilityImpairedAccess>unknown</MobilityImpairedAccess>  <!on Noptis.Line -->
 Always unknown, required field but data is not available  -->             <Line version="20131215" id="SE:253:Line:9011005005300000"> <!-- version=Noptis.Line.ExistsFromDate, id=Noptis.Line.Gid -->
   <limitations>                         <ValidBetween>
 <AccessibilityLimitation>                               <WheelchairAccess>unknown</WheelchairAccess><FromDate>2019-02-13T00:00:00</FromDate> <!-- Always unknown, required field but data is not available  Noptis.Line.ExistsFromDate -->
                              <StepFreeAccess>false</StepFreeAccess>  <!-- BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'STAIRWAY'.  ToDate = Noptis.Line.ExistsToDate, in this case "ExistsToDate" is null -->
                              <EscalatorFreeAccess>unknown</EscalatorFreeAccess> <!-- BridgingDevice.TypeCode, “false” if there is a BridgingDevice for which TypeCode == 'ESCALAT'.  --></ValidBetween>
                                            <LiftFreeAccess>unknown</LiftFreeAccess><Name>53</Name> <!-- BridgingDeviceNoptis.Line.TypeCodeName, “false” if there is a BridgingDevice for which TypeCode == 'ELEVATOR'.  eller Noptis.Line.Designation om Noptis.Line.Name är tom -->
                          </AccessibilityLimitation>  <TransportMode>rail</TransportMode> <!-- See the            section "General Noptis to Netex mappings" below -->
     </limitations>                    </AccessibilityAssessment>   <TransportSubmode>
             </NavigationPath>                 <NavigationPath version="20120623" id="SE:251:NavigationPath:14010000311143757"> <RailSubmode>unknown</RailSubmode> <!-- version=Noptis.StationEntryLink.ExistsFromDate, id=Noptis.StationEntryLink.Id -->
                    <Distance>2.0</Distance> <!-- version=Noptis.StationEntryLink.DistanceMeters. If null, Distance will be 0 -->Netex.TransportSubmode is always mapped to UNKNOWN since that information is not available in NOPTIS. -->
                            </TransportSubmode>
 <From>                         <PlaceRef ref="SE:251:StopPlaceEntrance:9023001006651002" version="20120623"/> <PublicCode>53</PublicCode> <!-- version=Noptis.StationEntrancePointLine.ExistsFromDate id=Noptis.StationEntrancePoint.Gid Designation -->
                    </From>                 <PrivateCode>53</PrivateCode> <!-- Noptis.Line.Number -->
   <To>                         <PlaceRef<RepresentedByGroupRef ref="SE:251253:Quay:9022003719007001" version="20150827Network:9010005000000000"/> <!-- version=Noptis.StopPoint.ExistsFromDate
id=Noptis.StopPoint.Gid from Noptis.StationEntryLink.EndsAtJourneyPatternPoint -->                     </To>Line>
                    <TransferDuration></lines>
                    <journeyPatterns>
   <DefaultDuration>PT3M1S</DefaultDuration> <!-- version=Noptis.StationEntryLink.DefaultDurationSeconds -->                     </TransferDuration>
       <!-- JourneyPattern is based on Noptis.NamedJourneyPattern -->
        </NavigationPath>                 <NavigationPath<JourneyPattern version="20120623any" id="SE:251253:NavigationPathJourneyPattern:1401000031114718655700000035050824"> <!-- version=Noptis.StationExitLink.ExistsFromDate, id=Noptis.StationExitLinkNamedJourneyPattern.Id -->
                             <RouteRef ref="SE:253:Route:55700000035050824" version="any"/>
   <Distance>3.0</Distance> <!-- version=Noptis.StationExitLink.DistanceMeters. If null, Distance will be 0 -->                <pointsInSequence>
    <From>                         <PlaceRef ref="SE:251:Quay:9022003719007002" version="20150827"/> <!-- version=Noptis.StopPoint.ExistsFromDate id=Noptis.StopPoint.Gid from StopPointInJourneyPattern is based on Noptis.StationExitLink.StartsAtJourneyPatternPointPointInJourneyPattern -->
                    </From>            <StopPointInJourneyPattern order="1" version="any" id="SE:253:StopPointInJourneyPattern:55700000035050829"> 
      <To>                           <PlaceRef ref="SE:251:StopPlaceEntrance:9023001006661001" version="20120623"/> <!-- versionorder=Noptis.StationEntrancePointPointInJourneyPattern.ExistsFromDateSequenceNumber, id=Noptis.StationEntrancePointPointInJourneyPattern.GidId -->
                      </To>              <ScheduledStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050016"/>
             <TransferDuration>                         <DefaultDuration>PT3M2S<<ForAlighting>false</DefaultDuration>ForAlighting> <!-- version=Noptis.StationExitLink.DefaultDurationSeconds -->
       See the section "General Noptis to Netex mappings" below -->
            </TransferDuration>                 </NavigationPath>       <ForBoarding>true</ForBoarding> <!-- See the section "General Noptis to Netex mappings" <pathLinksInSequence>below -->
                   <PathLinkInSequence order="1" version="any" id="SE:001:PathLinkInSequence:14010000311183662-1">                         <LinkSequenceRef <DestinationDisplayRef ref="SE:001253:PathLink:14010000311183662-1" version="20120623"DestinationDisplay:55700000037211691"/>
<!-- ref=Noptis.ConnectionLink.Id-1, version=Noptis.ConnectionLink.ExistsFrom -->                     </PathLinkInSequence>                     <PathLinkInSequence order="2" version="any" id="SE:001:PathLinkInSequence:14010000311183662-2">        <RequestStop>true</RequestStop> <!-- See the section "General Noptis to Netex mappings" below -->
     <LinkSequenceRef ref="SE:001:PathLink:14010000311183662-2" version="20120623"/> <!-- ref=Noptis.ConnectionLink.Id-2, version=Noptis.ConnectionLink.ExistsFrom -->                     </PathLinkInSequence>
StopPointInJourneyPattern>
               </pathLinksInSequence>                 <!-- More NavigationPathStopPointInJourneyPattern elements -->
            </navigationPaths>             <pathLinks>           </pointsInSequence>
   <PathLink version="20120623" id="SE:001:PathLink:14010000311183662-1">  <!-- id=Noptis.ConnectionLink.Id-1, version=Noptis.ConnectionLink.ExistsFrom -->                     <ValidBetween>    <linksInSequence>
              <FromDate>2019-02-13T00:00:00</FromDate> <!-- Noptis.ConnectionLink.ExistsFromDate -->               <ServiceLinkInJourneyPattern order="1" version="any" id="SE:253:ServiceLinkInJourneyPattern:BUS_391"> <!-- ToDate order= Noptis.ConnectionLinkPointInJourneyPattern.ExistsToDateSequenceNumber, in
this case "ExistsToDate" is null -->                 </ValidBetween>              id is Noptis.Line.DefaultTransportModeCode <From>+ a counter. -->
               <PlaceRef ref="SE:001:Quay:9022001070462002" version="20140603"/> <!-- id=Noptis.StopPoint.Gid, version=Noptis.StopPoint.Gid -->                 </From>
    <ServiceLinkRef ref="SE:253:ServiceLink:BUS_9025005000005016_9025005000122302"/>
           <To>                   <PlaceRef ref="SE:001:EquipmentPlace:14010000311143397" version="any"/> <!-- id=Noptis.BridgingDevice.id --> </ServiceLinkInJourneyPattern>
                 </To>               </PathLink>!-- More ServiceLinkInJourneyPattern elements -->
          <PathLink version="20120623" id="SE:001:PathLink:14010000311183662-2">  <!-- id=Noptis.ConnectionLink.Id-2, version=Noptis.ConnectionLink.ExistsFrom -->           </linksInSequence>
     <From>                   <PlaceRef ref="SE:001:EquipmentPlace:14010000311143397" version="any"/> <!-- id=Noptis.BridgingDevice.id --></JourneyPattern>
                    </From>journeyPatterns>
                <To></ServiceFrame>
                <TimetableFrame  <PlaceRef refversion="SE:001:Quay:902200107046200120191127125021" versionid="20140603"/SE:253:TimetableFrame:9011005005300000"> <!-- id=Noptis.StopPoint.Gid, version Version is timestamp of export (YYYYMMDDHHmmSS), id=Noptis.StopPointLine.Gid -->
                </To>    <vehicleJourneys>
           </PathLink>             </pathLinks>!-- ServiceJourney is based on Noptis.VehicleJourney -->
              </SiteFrame>     </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">
    <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:9011005005300000"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id will always be 1 --> <ServiceJourney version="any" id="SE:253:ServiceJourney:55700000049527547"> <!-- id=Noptis.VehicleJourney.Id -->
                            <PrivateCode>123</PrivateCode> <!-- Not in Noptis but in Stip as VehicleJourney.InternalJourneyNumber. Currently only imported from TRP.30-Post.TURNR and Netex.ServiceJourney. -->
                            <TransportMode>rail</TransportMode> <!-- See the section "General Noptis to Netex mappings" below -->
                           <ValidBetween> <TransportSubmode>
               <FromDate>2005-01-01T00:00:00</FromDate> <!-- Always set to 2005-01-01 -->           <RailSubmode>unknown</RailSubmode>  </ValidBetween>
            <codespaces>
<!-- Netex.TransportSubmode is always mapped to UNKNOWN since that information is not available in NOPTIS. -->
               <Codespace id="253"> <!-- id is same as Xmlns -->     </TransportSubmode>
               <Xmlns>253</Xmlns> <!-- From Samtrafiken's registry of producer numbers, based on data source --> <dayTypes>
                   <XmlnsUrl>http://www.samtrafiken.se/ns/Östgötatrafiken</XmlnsUrl> <!-- "Östgötatrafiken" is based on data source -->     <DayTypeRef ref="SE:253:DayType:1"/> <!-- See the explanation for ServiceCalendarFrame in the "_shared_data.xml"  </Codespace>section -->
            </codespaces>             <FrameDefaults>   </dayTypes>
             <DefaultLocale>               <JourneyPatternRef ref="SE:253:JourneyPattern:55700000035050824" version="any"/>
   <TimeZone>Europe/Stockholm</TimeZone>                     <DefaultLanguage>se</DefaultLanguage>    <OperatorRef ref="SE:253:Operator:9013005918200000"/>
           </DefaultLocale>                 <DefaultLocationSystem>4326</DefaultLocationSystem><trainNumbers> <!-- All coordinatesTrainNumbers exists only for ServiceJourneys that are WGS84trains. -->
    
       </FrameDefaults>             <frames>            <!-- Normally there will only <ServiceFrame version="20191127125021" id="SE:253:ServiceFrame:9011005005300000"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id=Noptis.Line.Gid -->
               be one TrainNumberRef here. For Trains that change their announced train number during their journey (also called vagnskurs/kursvagnar) there will be multiple TrainNumberRefs (as restricted by JourneyPart-elements). -->
    <routes>                         <!-- Route is based on Noptis.JourneyPattern and Noptis.DirectionOfLine. Each Noptis.JourneyPattern will create a Route. --><TrainNumberRef ref="SE:253:TrainNumber:9011074007000000_74" versionRef="any"/>
                                <TrainNumberRef <Route versionref="anySE:253:TrainNumber:9011074007000000_70" idversionRef="SE:253:Route:55700000035050824"any"/>
                            <Name>Motala</Name> <!-- Noptis.DirectionOfLine.Name --></trainNumbers>
                            <passingTimes>
<LineRef ref="SE:253:Line:9011005005300000" version="20131215"/>                             <DirectionType>outbound</DirectionType> <!-- Noptis.DirectionOfLine.DirectionCode. ODD = outbound, EVEN = inbound.TimetabledPassingTime is based on CallOnTimedJourneyPattern -->
                                <pointsInSequence><TimetabledPassingTime version="any" id="SE:253:TimetabledPassingTime:55700000049527529"> <!-- id=Noptis.CallOnTimedJourneyPattern.Id -->
                                <!-- PointOnRoute is based on Noptis.PointInJourneyPattern --<StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050829" version="any"/>
                                <PointOnRoute order="1" version="any" id="SE:253:PointOnRoute:55700000035050829">  <DepartureTime>06:40:00</DepartureTime> <!-- order=Noptis.PointInJourneyPattern.SequenceNumber, id=VehicleJourney.PlannedStartOffsetDayTime and Noptis.PointInJourneyPatternCallOnTimedJourneyPattern.IdEarliestDepartureTimeOffsetSeconds -->
                                </TimetabledPassingTime>
   <RoutePointRef ref="SE:253:RoutePoint:9022005000050016"/>                            <TimetabledPassingTime version="any" id="SE:253:TimetabledPassingTime:55700000049527530">
  </PointOnRoute>                                 <!-- More PointOnRoute elements --<StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050830" version="any"/>
                            </pointsInSequence>        <ArrivalTime>06:41:28</ArrivalTime> <!-- Noptis.VehicleJourney.PlannedStartOffsetDayTime and Noptis.CallOnTimedJourneyPattern.LatestArrivalTimeOffsetSeconds -->
           </Route>                         <!-- More Route elements --><DepartureTime>06:41:28</DepartureTime>
                        </routes>        </TimetabledPassingTime>
            <lines>                    <!-- More TimtabledPassingTime  elements <!-->
Line   is based on Noptis.Line -->                         <Line<TimetabledPassingTime version="20131215any" id="SE:253:LineTimetabledPassingTime:901100500530000055700000049527544"> <!-- version=Noptis.Line.ExistsFromDate, id=Noptis.Line.Gid -->
                                    <StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050844" version="any"/>
   <ValidBetween>                                 <FromDate>2019-02-13T00:00<ArrivalTime>07:50:00</FromDate> <!-- Noptis.Line.ExistsFromDate -->ArrivalTime>
                                    <DepartureTime>07:51:00</DepartureTime>
           <!-- ToDate = Noptis.Line.ExistsToDate, in this case "ExistsToDate" is null -->           </TimetabledPassingTime>
                 </ValidBetween>               <TimetabledPassingTime version="any" id="SE:253:TimetabledPassingTime:55700000049527545">
           <Name>53</Name> <!-- Noptis.Line.Name, eller Noptis.Line.Designation om Noptis.Line.Name är tom -->                <StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050845" version="any"/>
          <TransportMode>bus</TransportMode> <!-- See the section "General Noptis to Netex mappings" below -->               <ArrivalTime>01:20:00</ArrivalTime>
             <TransportSubmode>                       <ArrivalDayOffset>1</ArrivalDayOffset> <!-- Noptis.VehicleJourney.PlannedStartOffsetDayTime (the day      <BusSubmode>unknown</BusSubmode> <!-- Netex.TransportSubmode is always mapped to UNKNOWN since that information is not available in NOPTIS. -->value -1) -->
                                    <DepartureTime>01:21:00</DepartureTime>
       </TransportSubmode>                             <PublicCode>53<<DepartureDayOffset>1</PublicCode>DepartureDayOffset> <!-- Noptis.Line.Designation.VehicleJourney.PlannedEndOffsetDayTime (the day value -1) -->
                               <PrivateCode>53</PrivateCode> <!-- Noptis.Line.Number --> </TimetabledPassingTime>
                                <TimetabledPassingTime <RepresentedByGroupRef refversion="any" id="SE:253:NetworkTimetabledPassingTime:901000500000000055700000049527546"/>>
                                    </Line> <StopPointInJourneyPatternRef ref="SE:253:StopPointInJourneyPattern:55700000035050846" version="any"/>
                    </lines>                <ArrivalTime>02:00:00</ArrivalTime>
       <journeyPatterns>                         <!-- JourneyPattern is based on Noptis.NamedJourneyPattern --><ArrivalDayOffset>1</ArrivalDayOffset>
                          <JourneyPattern version="any" id="SE:253:JourneyPattern:55700000035050824"> <!-- id=Noptis.NamedJourneyPattern.Id --> </TimetabledPassingTime>
                           <RouteRef ref="SE:253:Route:55700000035050824" version="any"/> </passingTimes>
                             <pointsInSequence>
<FlexibleServiceProperties> <!-- Noptis.AdvanceOrderCondition -->
                              <FlexibleServiceType>fixedPassingTimes</FlexibleServiceType> <!-- this StopPointInJourneyPatternvalue is basedalways set onto Noptis.PointInJourneyPatternfixedPassingTimes -->
                              <BookingContact>
          <StopPointInJourneyPattern order="1" version="any" id="SE:253:StopPointInJourneyPattern:55700000035050829">                   <Phone>07717110120</Phone> <!-- Noptis.AdvanceOrderCondition.TelephoneNumber -->
               <!-- order=Noptis.PointInJourneyPattern.SequenceNumber, id=Noptis.PointInJourneyPattern.Id -->
                 </BookingContact>
                              <!-- Either BookWhen <ScheduledStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050016"/>
     AND LatestBookingTime are set, OR only MinimumBookingPeriod is set -->
                              <ForAlighting>false<<BookWhen>advanceAndDayOfTravel</ForAlighting>BookWhen> <!-- See the section "General Noptis to Netex mappings" belowNoptis.AdvanceOrderCondition.MinimumDaysInAdvanceCount. advanceAndDayOfTravel = 0, untilPreviousDay = 1 -->
                                    <ForBoarding>true</ForBoarding><LatestBookingTime>18:00:00</LatestBookingTime> <!-- See the section "General Noptis to Netex mappings" below -->Noptis.AdvanceOrderCondition.LatestAbsoluteTime -->
                              <!-- <MinimumBookingPeriod>PT2H</MinimumBookingPeriod> <!-- Noptis.AdvanceOrderCondition.LatestTimeSpanInAdvanceDurationSeconds --> This is just an example of how it would <DestinationDisplayRef ref="SE:253:DestinationDisplay:55700000037211691"/look like-->
                              <BookingNote>Turen måste förbeställas  0771 - <RequestStop>true</RequestStop> <!-- See the section "General Noptis to Netex mappings" below -->
 71 10 20 senast 2 timmar före avresa från turens starthållplats.</BookingNote> <!-- Noptis.AdvanceOrderCondition.PublicNote -->
                              </StopPointInJourneyPattern>FlexibleServiceProperties>
                            <parts>
   <!-- More StopPointInJourneyPattern elements -->                             <!-- JourneyParts with TrainNumberRefs only exists </pointsInSequence>for ServiceJourneys that are trains. -->
                       <linksInSequence>         <!-- JourneyParts with TrainNumberRefs exists for trains that change their announced train number during their journey (also called vagnskurs/kursvagnar). -->
    <ServiceLinkInJourneyPattern order="1" version="any" id="SE:253:ServiceLinkInJourneyPattern:BUS_391"> <!-- order=Noptis.PointInJourneyPattern.SequenceNumber,                       <!-- The StopPointRefs and times in the example below are wrong with regard to the idjourneypattern is Noptis.Line.DefaultTransportModeCode + a counter.and passingtimes of this ServiceJourney -->
                                <JourneyPart    <ServiceLinkRef refversion="any" id="SE:253:ServiceLinkJourneyPart:BUS323200000000003266_9025005000005016tn_9025005000122302"/>
   0">
                            </ServiceLinkInJourneyPattern>        <!-- MainPartRef is a self-reference that only exists to pass Netex-validation -->
             <!-- More ServiceLinkInJourneyPattern elements -->                   <MainPartRef ref="SE:253:JourneyPart:323200000000003266_tn_0" version="any"/>
       </linksInSequence>                         </JourneyPattern>    <TrainNumberRef ref="SE:253:TrainNumber:9011074007000000_70" versionRef="any"/>
              </journeyPatterns>                 </ServiceFrame>     <FromStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050016"/>
          <TimetableFrame version="20191127125021" id="SE:253:TimetableFrame:9011005005300000"> <!-- Version is timestamp of export (YYYYMMDDHHmmSS), id=Noptis.Line.Gid -->                 <ToStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050019"/>
   <vehicleJourneys>                         <!-- ServiceJourney is based on Noptis.VehicleJourney -->  <StartTime>06:40:00</StartTime>
                      <ServiceJourney version="any" id="SE:253:ServiceJourney:55700000049527547"> <!-- id=Noptis.VehicleJourney.Id -->         <EndTime>07:50:00</EndTime>
                   <TransportMode>bus</TransportMode> <!-- See the section "General Noptis to Netex mappings" below -->  </JourneyPart>
                          <TransportSubmode>      <JourneyPart version="any" id="SE:253:JourneyPart:323200000000003266_tn_1">
                        <BusSubmode>unknown</BusSubmode> <!-- Netex.TransportSubmode is always mapped to UNKNOWN since that information is not available in NOPTIS. --<MainPartRef ref="SE:253:JourneyPart:323200000000003266_tn_1" version="any"/>
                            </TransportSubmode>        <TrainNumberRef ref="SE:253:TrainNumber:9011074007000000_74" versionRef="any"/>
                  <dayTypes>                  <FromStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050020"/>
             <DayTypeRef ref="SE:253:DayType:1"/> <!-- See the explanation for ServiceCalendarFrame in the "_shared_data.xml" section -->           <ToStopPointRef ref="SE:253:ScheduledStopPoint:9022005000050021"/>
                </dayTypes>                    <StartTime>01:21:00</StartTime>
         <JourneyPatternRef ref="SE:253:JourneyPattern:55700000035050824" version="any"/>                         <!-- The StartTimeDayOffset must <OperatorRef ref="SE:253:Operator:9013005918200000"/>
    match the DepartureDayOffset of the TimetabledPassingTime. -->
                       <passingTimes>             <!-- If the value is 0 (which is the most common case) this field will not be set at  <!-- TimetabledPassingTime is based on CallOnTimedJourneyPatternall, like 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>
                        <TrainNumber  <TimetabledPassingTime 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.

...