A TransXChange operating profile can be defined on (in order of specificity, most → least):
- A vehicle journey
- A journey pattern
- A service
Passenger will use most specific operating profile it can for each journey, it will not merge operating profiles across the above elements.
If a vehicle journey does not have an operating profile, then the operating profile from the journey pattern will be used if present, and finally the service.
If no operating profile is present, a journey is assumed to be running Monday through Friday.
There are 5 elements to an operating profile (in order of precedence):
Which days of the week does this service run? e.g. Monday to Friday
<RegularDayType> <DaysOfWeek> <MondayToFriday/> </DaysOfWeek> </RegularDayType>
The weeks of the month on which the service is operated for the given day types; for example, “first and third weeks of the month”.
Passenger does not currently support PeriodicDayType.
Inclusions or exclusions of pre-defined date ranges for an organisation, such as a school’s term times.
In the below example, the type references the serviced organisation’s working days within a DaysOfOperation element; so the service is operating during the working days of the organisation.
If this type instead used DaysOfNonOperation, the service would not run on the working days of the organisation, unless overridden by BankHolidaysOperation or SpecialDaysOperation.
<ServicedOrganisationDayType> <DaysOfOperation> <WorkingDays> <ServicedOrganisationRef>Bournemouth_University</ServicedOrganisationRef> </WorkingDays> </DaysOfOperation> </ServicedOrganisationDayType>
Inclusions or exclusions of specific bank holidays by name. e.g.
<BankHolidayOperation> <DaysOfOperation> <BoxingDay /> <ChristmasEve /> <NewYearsEve /> </DaysOfOperation> <DaysOfNonOperation> <ChristmasDay /> <NewYearsDay /> <OtherPublicHoliday> <Description>Platinum Jubilee Extra Bank Holiday</Description> <Date>2022-06-03</Date> </OtherPublicHoliday> </DaysOfNonOperation> </BankHolidayOperation>
Absolute date ranges, either as DaysOfOperation (inclusive) or DaysOfNonOperation (exclusive).
<SpecialDaysOperation> <DaysOfOperation> <DateRange> <StartDate>2021-11-25</StartDate> <EndDate>2021-11-30</EndDate> </DateRange> </DaysOfOperation> <DaysOfNonOperation> <DateRange> <StartDate>2021-11-15</StartDate> <EndDate>2021-11-20</EndDate> </DateRange> </DaysOfNonOperation> </SpecialDaysOperation>
They take precedent in this order, starting with RegularDayType being the most generalised, and SpecialDaysOperation being the most specific and therefore the most authoritative.
Continue to the next article on Managing Journey Data: Serviced Organisations.