Content
A Service Calendar defines days, dayType, operational periods and other calendar items, as well as the connections between them. These definitions are further used (mainly) in the Timetable to specify when a Line operates.
The XML example in it its entirety can be found in the GitHub repository: https://github.com/entur/profile-norway-examples/blob/master/netex/schedule/ServiceCalendar-example.xml
Below is a more detailed description of the most important elements of modelling a calendar object.
Note that this is only a simplified example of NeTEx XML. |
All XML files according to the Norwegian NeTEx profile should be of type PublicationDelivery containing relevant Frames. (See GitHub for a complete example.)
Description of the dummy ServiceFrame and TimetableFrame in the example is only included to indicate a complete PublicationDelivery. |
All calendar objects are defined in a ServiceCalendarFrame. It can be done in a ServiceCalendar object, but given that most components are often reused across the dataset, it is recommended to define these directly in ServiceCalendarFrame.
<ServiceCalendarFrame version="any" id="RUT:ServiceCalendarFrame:1"> <ServiceCalendar version="any" id="RUT:ServiceCalendar"> <Name>Weekdays</Name> <FromDate>2019-04-01</FromDate> <ToDate>2019-08-31</ToDate> </ServiceCalendar> [...] |
Defining day type by means of weekdays.
<dayTypes> <DayType version="any" id="RUT:DayType:weekdays"> <Name>Ukedager</Name> <properties> <PropertyOfDay> <DaysOfWeek>Monday Tuesday Wednesday Thursday Friday</DaysOfWeek> </PropertyOfDay> </properties> </DayType> [...] </dayTypes> |
Timeband shows time indication.
<timebands> <Timeband version="any" id="RUT:Timeband:TM15"> <!--Name>15 minutes past the hour</Name--> <StartTime>00:15:00</StartTime> <EndTime>00:15:00</EndTime> </Timeband> </timebands> |
Specification of an operating day, possibly also the start and length of an operating day. Can be linked to a dayType , e.g. 637370378.
<operatingDays> <OperatingDay version="any" id="RUT:OperatingDay:default:1"> <CalendarDate>2016-05-01</CalendarDate> <EarliestTime>10:10:00</EarliestTime> <DayLength>PT12H45M</DayLength> </OperatingDay> <OperatingDay version="any" id="RUT:od:default:2"> <CalendarDate>2016-07-07</CalendarDate> <EarliestTime>11:11:00</EarliestTime> <DayLength>PT9H10M</DayLength> </OperatingDay> </operatingDays> |
Specification of an operating period, based on previously defined start and end days.
<operatingPeriods> <OperatingPeriod version="any" id="RUT:op:default"> <FromOperatingDayRef ref="RUT:OperatingDay:default:1"/> <ToOperatingDayRef ref="RUT:od:default:2"/> </OperatingPeriod> </operatingPeriods> |
Attaching a dayType to a specific date or pre-defined OperatingDay/Period for a given calendar, i.e. a dayType will be valid within the time period specified by the calendar object to which it is associated.
<dayTypeAssignments> [...] <DayTypeAssignment version="any" order="1" id="RUT:DayTypeAssignment:period"> <OperatingPeriodRef ref="RUT:OperatingPeriod:default"/> <DayTypeRef version="any" ref="RUT:DayType:weekdays"/> </DayTypeAssignment> </dayTypeAssignments> |