Sprint 142
- 1 Chouette
- 1.1 Import messages are improved and organized by resource
- 1.2 Publish by including all Workgroup Stop Areas/Lines
- 1.3 Prefer Referent Stop Areas in NeTEx export
- 1.4 Display message when NeTEx Route attributes are invalid
- 1.5 Display message when NeTEx Journey Pattern attributes are invalid
- 1.6 Display messages when NeTEx Route & Journey Patterns stop sequence is invalid
- 1.7 Display messages when NeTEx ScheduledStopPoints are incomplete
- 1.8 Display messages when NeTEx DayTypes are invalid
- 1.9 Display messages when NeTEx Journeys are invalid
- 1.10 Display message when NeTEx Journey Pattern attributes are invalid
- 1.11 Remove Route/JourneyPattern name via Macro
- 1.12 Route or Journey Pattern creation name macros keep existing values
- 2 Ara
- 3 Flamingo
All our SaaS products have been updated on 02 April 2026 with the releases associated with this Sprint 142.
Chouette
Import messages are improved and organized by resource
Users can see import messages displayed for each resource:
Each resource can be expanded to show the detail of each import message:
Publish by including all Workgroup Stop Areas/Lines
Users can publish by selecting that all stop areas and/or all lines in the Workgroup will be included in the published file. Users can select a dedicated option to ignore disabled models.
When a Stop Area or a Line is published, all associated models (Entrances, Booking Arrangements, etc) are published too.
When “Ignore disabled Stop Areas” option is enabled, the Stop Areas with disabled status ( deleted_at in the past) are not exported.
When “Ignore disabled Lines” option is enabled, the Lines with disabled (deactivated = true) status or active_until in the past are not exported.
Prefer Referent Stop Areas in NeTEx export
The user can enable in a NeTEx export the option “Prefer Referent Stop Areas”.
In this case, the particular Stop Areas will be replaced by the associated Referent Stop Area in the NeTEx resources.
Only referent dependencies are exported in this case (referent parents, referent entrances, etc).
Display message when NeTEx Route attributes are invalid
When a NeTEx route doesn’t provide required information to create a Chouette Route, an error should be displayed.
No identifier
<Route id=""/>La Route NeTEx n'a pas d'identifiant
The NeTEx Route has no identifier
No Line
<Route id="without-line"/>La Route NeTEx 'without-line' n'a pas de Line
The NeTEx Route 'without-line' has no Line
Unknown Line
<Route id="with-unknown-line">
<Name>With unknown Line</Name>
<LineRef ref="dummy"/>
<DirectionType>wrong</DirectionType>
</Route>La Route NeTEx 'with-unknown-line' référence une Line NeTEx 'dummy' inconnue
The NeTEx Route 'with-unknown-line' references an unknown NeTEx Line 'dummy'
Invalid DirectionType
<Route id="with-wrong-direction-type">
<Name>With wrong DirectionType</Name>
<LineRef ref="line-1"/>
<DirectionType>wrong</DirectionType>
</Route>La Route NeTEx 'with-wrong-direction-type' utilise une DirectionType 'dummy' non supportée
The NeTEx Route 'with-wrong-direction-type' uses an unsupported DirectionType 'dummy'
Unknown Direction
<Route id="with-unknown-direction">
<Name>With unknown Direction</Name>
<LineRef ref="line-1"/>
<DirectionRef ref="dummy"/>
</Route>La Route NeTEx 'with-unknown-direction' référence une Direction 'dummy' inconnue
The NeTEx Route 'with-unknown-direction' references an unknown Direction 'dummy'
Display message when NeTEx Journey Pattern attributes are invalid
When a NeTEx Journey Pattern doesn’t provide required information to create a Chouette JourneyPattern, an error should be displayed. Invalid journey patterns are ignored to allow the Route creation.
Display messages when NeTEx Route & Journey Patterns stop sequence is invalid
The user can use the Macro Remove attribute value to reset the Route & Journey Pattern name.
The Macro will replace the current value by the Default value.
Display messages when NeTEx ScheduledStopPoints are incomplete
When the user imports NeTEx ScheduledStopPoints which can be properly associated to a StopArea, an error message is displayed.
Display messages when NeTEx DayTypes are invalid
When the user imports a DayType which doesn’t allow to create a valid Timetable, an error message is created and the DayType is ignored.
Display messages when NeTEx Journeys are invalid
When the user imports NeTEx ServiceJourneys with invalid information, an error message is created and this ServiceJourney is skipped.
Display message when NeTEx Journey Pattern attributes are invalid
When a NeTEx Journey Pattern doesn’t provide required information to create a Chouette JourneyPattern, an error should be displayed. Invalid journey patterns are ignored to allow the Route creation.
Remove Route/JourneyPattern name via Macro
The user can use the Macro Remove attribute value to reset the Route & Journey Pattern name.
The Macro will replace the current value by the Default value. This special value is managed by other Macros.
Route or Journey Pattern creation name macros keep existing values
The Macros Define Route name, Define Direction name, Define Journey Pattern name, and Define destination display name don’t change the attribute anymore when a value already exists. The macro doesn’t overwrite existing values anymore.
However, the value will indeed be changed if it is the default value used by Chouette imports (Default, Inbound, Outbound).
Ara
Include Cancellation attribute in Estimated/Recorded Call in EstimatedTimetable
When a Stop Visit has cancelled, the associated SIRI EstimatedCall broadcasted by Ara contains the Cancellation attribute at true.
Example
<EstimatedCall>
<StopPointRef>NINOXE:StopPoint:SP:24:LOC</StopPointRef>
<Order>1</Order>
<StopPointName>Test</StopPointName>
<Cancellation>true</Cancellation>
<ExpectedArrivalTime>2017-01-01T15:01:01.000Z</ExpectedArrivalTime>
<ArrivalStatus>cancelled</ArrivalStatus>
<ExpectedDepartureTime>2017-01-01T15:01:11.000Z</ExpectedDepartureTime>
<DepartureStatus>cancelled</DepartureStatus>
</EstimatedCall> The Cancellation attribute is not present when the Stop Visit is not cancelled.
Enforce GTFS-RT stop sequence
When a Vehicle Journey is published in a GTFS-RT feed, the stop sequence values are recomputed from 0 (and 1 if a dedicated setting broadcast.gtfs.stop_sequence_from_one is present).
With this feature, Ara GTFS-RT TripUpdate feeds use the same stop sequence than Chouette GTFS feeds whatever the SIRI Order / VisitNumber.
Broadcast GTFS-RT TripUpdate with VehicleDescriptor
When a Vehicle is associated to a Vehicle Journey, Ara includes VehicleDescriptor information in each GTFS TripUpdate.
See https://gtfs.org/documentation/realtime/reference/#message-tripupdate
Flamingo
Retrieve Validation message Pagination
Users can retrieve a huge collection of validation messages by using the pagination parameters:
/api/validations/<uuid>/messages # default per_page is applied
/api/validations/<uuid>/messages?per_page=1000
/api/validations/<uuid>/messages?page=2&per_page=1000The maximum per_page value is 10000 messages. If no per_page parameter is specified, the default per_page value of 10000 messages is used.
Validate referenced resource with RuleContext reduce/reference
Users can use a Rule Context reduce/reference to apply rules on the NeTEx resource referenced by the targeted reference.
Example
{
"rule_context": "reduce/reference",
"reference": "quay_ref",
"rules": [
{
"rule": "resource/class",
"expected_classes": "Quay"
}
]
}will validate this example
<PassengerStopAssignment id="valid">
<ScheduledStopPointRef ref="scheduled-stop-point-1"/>
<QuayRef ref="quay-1" />
</PassengerStopAssignment>
<Quay id="quay-1"/>
<PassengerStopAssignment id="invalid">
<ScheduledStopPointRef ref="scheduled-stop-point-1"/>
<QuayRef ref="stop-place-1" />
</PassengerStopAssignment>
<StopPlace id="stop-place-1"/>
<ScheduledStopPoint id="scheduled-stop-point-1"/>This rule set:
{
"rule_context": "resource/kind_of",
"resource_class": "DayTypeAssignment",
"rules": [
{
"rule_context": "attribute/present",
"name": "operating_period_ref",
"rules": [
{
"rule_context": "reduce/reference",
"reference": "day_type_ref",
rules": [
{
"rule": "attribute/mandatory",
"name": "days_of_week",
"criticity": "error",
"code": "day_type_days_of_week",
"message": "L'attribut PropertyOfDay/DaysOfWeek est obligatoire dans un DayType associée à un OperationPeriod"
}
]
}
]
}
]
}will validate this example:
<DayType id="valid">
<properties>
<PropertyOfDay>
<DaysOfWeek>Tuesday Friday</DaysOfWeek>
</PropertyOfDay>
</properties>
</DayType>
<DayTypeAssignment id="assigment-1">
<OperatingPeriodRef ref="period-1"/>
<DayTypeRef ref="valid"/>
</DayTypeAssignment>
<OperatingPeriod id="period-1">
<FromDate>2030-01-01T00:00:00</FromDate>
<ToDate>2030-01-05T00:00:00</ToDate>
</OperatingPeriod>
<DayType id="invalid"/>
<DayTypeAssignment id="assigment-2">
<OperatingPeriodRef ref="period-1"/>
<DayTypeRef ref="invalid"/>
</DayTypeAssignment> Filter NeTEx resources with a given attribute present or absent
Users can use the Rule Context attribute/presence to filter only resources where this attribute is present/defined:
{
"rule_context": "resource/kind_of",
"resource_class": "DayTypeAssignment",
"rules": [
{
"rule_context": "attribute/present",
"name": "operating_period_ref"
"rules": [
{
"rule": "attribute/blank",
"name": "is_available"
}
]
}
]
}Users can use the Rule Context attribute/presence to filter only resources where this attribute is absent/undefined:
{
"rule_context": "resource/kind_of",
"resource_class": "DayTypeAssignment",
"rules": [
{
"rule_context": "attribute/absent",
"name": "operating_period_ref"
"rules": [
{
"rule": "attribute/mandatory",
"name": "date"
}
]
}
]
}