Feature Plan - Flexible Transport Service
Chouette SaaS will provide the first features to support Flexible Transport Service description in the coming Sprints.
- 1 First milestone (2025 Q1)
- 1.1 Booking Arrangements & Flexible Line
- 1.1.1 NeTEx Import/Export
- 1.1.2 GTFS Import/Export
- 1.2 Flexible Stop Area
- 1.2.1 NeTEx import/export
- 1.2.2 GTFS import/export
- 1.3 Flexible Stop Point
- 1.3.1 NeTEx import/export
- 1.3.2 GTFS Import/Export
- 1.4 Flexible Passing Time
- 1.4.1 NeTEx import/export
- 1.4.2 GTFS Import/Export
- 1.1 Booking Arrangements & Flexible Line
- 2 Second milestone (2025 Q2)
Here is a preview of these features:
First milestone (2025 Q1)
Booking Arrangements & Flexible Line
The user can manage Booking Arrangements which describes the booking rules of associated Flexible Services.
The user can associate a Line with a Booking Arrangements:
NeTEx Import/Export
The user can import and export a Line and its Booking Arrangement via a NeTex Line and a standalone :
<Line id="line-1" version="any">
<Name>Line Sample</Name>
<bookingArrangements>
<BookingArrangementRef ref="standard"/>
</bookingArrangements>
</Line>
<BookingArrangement version="any" id="standard">
<keyList>
<KeyValue typeOfKey="ALTERNATE_IDENTIFIER">
<Key>external</Key>
<Value>booking-arrangement-1</Value>
</KeyValue>
</keyList>
<BookingContact>
<Phone>+33 1 23 45 67 89</Phone>
<Url>https://example.com/info</Url>
</BookingContact>
<BookingMethods>callOffice</BookingMethods>
<BookingAccess>public</BookingAccess>
<BookWhen>untilPreviousDay</BookWhen>
<BuyWhen>beforeBoarding</BuyWhen>
<LatestBookingTime>16:30:00</LatestBookingTime>
<MinimumBookingPeriod>PT30M</MinimumBookingPeriod>
<BookingUrl>https://example.com/booking</BookingUrl>
<BookingNote>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac elit
suscipit, volutpat ipsum at, dignissim velit. Nullam feugiat, orci
nec egestas placerat, ligula dolor tempus velit
</BookingNote>
</BookingArrangement>
This NeTEx syntax is possible by using the coming NeTEx release. See GitHub - NeTEx-CEN/NeTEx: NeTEx is a CEN Technical Standard for exchanging Public Transport schedules and related data. for more details.
GTFS Import/Export
The user can import/export Booking Arrangements via GTFS Booking Rules.
In this first version, the GTFS import supports GTFS Trips with the same Booking Rules for a given GTFS Route.
See https://gtfs.org/documentation/schedule/reference/#booking_rulestxt
Flexible Stop Area
The user can define one or several Flexible Areas into a Stop Area:
The user can associate one or several Stop Areas.
NeTEx import/export
The user can import and export a Stop Area and its Flexible Areas via a NeTex FlexibleStopPlace:
<FlexibleStopPlace id='zone-tad-1' version="any">
<Name>FTS Zone 1</Name>
<!-- Other standard attributes --<
<areas>
<FlexibleArea version="any" id="zone-tad-1-area">
<members>
<QuayRef ref="quay-1" version="any"/>
<QuayRef ref="quay-2" version="any"/>
</members>
</FlexibleArea>
</areas>
</FlexibleStopPlace>
GTFS import/export
The user can import and export Stop Area and its Flexible Areas via a GTFS Location Group.
See https://gtfs.org/documentation/schedule/reference/#location_groupstxt
Flexible Stop Point
The user can define a Route with a Flexible Stop Point. In this case:
the user can associate a Stop Area with a Flexible Area
NeTEx import/export
The user can import Route/Journey Pattern including Flexible Stop Points via NeTEx ServiceJourneyPatterns and FlexibleStopAssignments:
<ServiceJourneyPattern id="journeypattern-1" version="any">
<Name>Journey Pattern Sample</Name>
<RouteRef ref="route-1"/>
<pointsInSequence>
<!-- Normal Stop Point -->
<StopPointInJourneyPattern id="stop-point-in-journey-pattern-1" order="1" version="any">
<ScheduledStopPointRef ref="scheduled-stop-point-1" version="any"/>
</StopPointInJourneyPattern>
<!-- Flexible Stop Point -->
<StopPointInJourneyPattern id="stop-point-in-journey-pattern-2" order="2" version="any">
<ScheduledStopPointRef ref="scheduled-stop-point-zone-tad-1" version="any"/>
<FlexiblePointProperties>
<PointStandingForAZone>true</PointStandingForAZone>
<ZoneContainingStops>true</ZoneContainingStops>
</FlexiblePointProperties>
</StopPointInJourneyPattern>
</pointsInSequence>
</ServiceJourneyPattern>
<ScheduledStopPoint id="scheduled-stop-point-zone-tad-1" version="any"/>
<FlexibleStopAssignment id="flexible-stop-assignment-1" order="1" version="any">
<ScheduledStopPointRef ref="scheduled-stop-point-zone-tad-1" version="any"/>
<FlexibleStopPlaceRef ref="zone-tad-1" version="any"/>
</FlexibleStopAssignment>
GTFS Import/Export
The GTFS format doesn’t support Route / Journey Pattern concepts. Chouette SaaS import/export manage them implicitely via GTFS Trips.
Flexible Passing Time
When associated to a Flexible Stop Point, the user can define a time window in place of the classic departure/arrival time.
NeTEx import/export
The user can import/export Vehicle Journeys with flexible Stop Points and associated time windows via NeTEx Service Journeys and LatestArrivalTime
/EarliestDepartureTime
attributes.
<ServiceJourney version="15" id="SKY:ServiceJourney:5979d025-1d5d-45a8-a9ec-b1af9ca0fa34">
<Name>Service Journey Sample</Name>
<dayTypes>
<DayTypeRef ref="daytype-1"/>
</dayTypes>
<JourneyPatternRef ref="journeypattern-1" version="any"/>
<passingTimes>
<TimetabledPassingTime version="any" id="1">
<StopPointInJourneyPatternRef ref="" version="13"/>
<DepartureTime>16:00:00</DepartureTime>
</TimetabledPassingTime>
<TimetabledPassingTime version="any" id="2">
<StopPointInJourneyPatternRef ref="scheduled-stop-point-zone-tad-1" version="any"/>
<LatestArrivalTime>20:00:00</LatestArrivalTime>
<EarliestDepartureTime>16:00:00</EarliestDepartureTime>
</TimetabledPassingTime>
</passingTimes>
</ServiceJourney>
GTFS Import/Export
The user can import and export GTFS Trips with Flex attributes:
location_group_id
start_pickup_drop_off_window/end_pickup_drop_off_window
pickup_booking_rule_id/drop_off_booking_rule_id
pickup_type/drop_off_type
See https://gtfs.org/documentation/schedule/reference/#stop_timestxt
Second milestone (2025 Q2)
Associate Booking Arrangement with Journey Pattern
The user can associate each Journey Pattern (with flexible Stops) with a Booking Arrangement:
In this case, the Booking Arrangement associated is exported/imported in the NeTEx ServiceJourneyPattern
:
<ServiceJourneyPattern id="journeypattern-1" version="any">
<Name>Journey Pattern Sample</Name>
<RouteRef ref="route-1"/>
<pointsInSequence>
<!-- Normal Stop Point -->
<StopPointInJourneyPattern id="stop-point-in-journey-pattern-1" order="1" version="any">
<ScheduledStopPointRef ref="scheduled-stop-point-1" version="any"/>
</StopPointInJourneyPattern>
<!-- Flexible Stop Point -->
<StopPointInJourneyPattern id="stop-point-in-journey-pattern-2" order="2" version="any">
<ScheduledStopPointRef ref="scheduled-stop-point-zone-tad-1" version="any"/>
<FlexiblePointProperties>
<PointStandingForAZone>true</PointStandingForAZone>
<ZoneContainingStops>true</ZoneContainingStops>
</FlexiblePointProperties>
</StopPointInJourneyPattern>
</pointsInSequence>
<bookingArrangements>
<BookingArrangementRef ref="sample"/>
</bookingArrangements>
</ServiceJourneyPattern>
Export Booking Arrangement in ServiceJourneyPattern with IDFM IBOO Producer NeTEx Profile
When the user exports a Dataset by using the IDFM IBOO Producer NeTEx Profile, the BookingArrangement associations are only exported into the ServiceJourneyPattern
NeTEx resource.
The user can associated BookingArrangement with the Line or the with the Journey Pattern. In the both cases, the NeTEx export contains a BookingArrangementRef
in each ServiceJourneyPattern
:
<ServiceJourneyPattern id="journeypattern-1" version="any">
<Name>Journey Pattern Sample</Name>
<RouteRef ref="route-1"/>
<pointsInSequence>
<!-- Normal Stop Point -->
<StopPointInJourneyPattern id="stop-point-in-journey-pattern-1" order="1" version="any">
<ScheduledStopPointRef ref="scheduled-stop-point-1" version="any"/>
</StopPointInJourneyPattern>
<!-- Flexible Stop Point -->
<StopPointInJourneyPattern id="stop-point-in-journey-pattern-2" order="2" version="any">
<ScheduledStopPointRef ref="scheduled-stop-point-zone-tad-1" version="any"/>
<FlexiblePointProperties>
<PointStandingForAZone>true</PointStandingForAZone>
<ZoneContainingStops>true</ZoneContainingStops>
</FlexiblePointProperties>
</StopPointInJourneyPattern>
</pointsInSequence>
<bookingArrangements>
<BookingArrangementRef ref="sample"/>
</bookingArrangements>
</ServiceJourneyPattern>