Feature Plan - Flexible Transport Service

Chouette SaaS will provide the first features to support Flexible Transport Service description in the coming Sprints.

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.

image-20250113-214306.png

The user can associate a Line with a Booking Arrangements:

image-20250114-134954.png

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:

image-20241105-144034.png

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.

vehicle_journeys - editor (4).png

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:

Journey Patterns.png
Define Journey Pattern 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>

Related content