Control lists

Control lists

 

Description

A control allows you to qualify part of your data in your offer.

A control list is defined within a workgroup or workbench. It consists of:

  • a list of sequenced controls (the controls will be executed in the order you have defined)

  • contexts that may contain a list of controls.

A context allows you to filter the data you want to be qualified.

Your control list will be represented as follows:

 

Copy of Blank diagram.png
Control list

Each control is available in a library https://enroute.atlassian.net/wiki/spaces/PUBLIC/pages/2103607297/Control+lists#Types-of-controls that will be expanded as the product evolves. It can generally be configured to suit your context and goals.

Similarly, contexts are available in the library https://enroute.atlassian.net/wiki/spaces/PUBLIC/pages/2103607297/Control+lists#Types-of-contexts.

View Control lists

You can consult the list of control lists created by your organisation in Workbench → Control lists.

image-20231226-202844.png

For each control list, the following are displayed:

  • Name

  • Comments

  • If the control list is shared with the workgroup

  • If it is linked to a processing rule

  • The date of the last update

The gear icon offers the following actions:

  • Show this control list

  • Edit this control list

  • Execute this control list

  • Delete this control list

 

Creating a Control List

When you click on the "Add a control list" button, you will access the editing page for a new control list.

First, you have to give a name to your control list. You can add a comment and decide whether or not to share this control with the https://enroute.atlassian.net/wiki/x/GgCZc.

If the control list is shared with the workgroup, other organizations belonging to your workgroup will be able to use this control list.

In the “Controls” section of the form, the user can add different controls for each rule they want to control.

You can use controls with or without context. A context allows you to filter the data you want to control. If no context is selected, the new control will apply to all data in the target.

Three contexts are available (See https://enroute.atlassian.net/wiki/spaces/PUBLIC/pages/2103607297/Control+lists#Types-of-contexts):

Creating a control with a context

To add a control with a context to your control list, click on the first field and select a context from the list provided, for example “Transport Mode.”

Next, click on the “Add new control context” button.

A list of different transport modes appears.

Select a transport mode for this context, then choose a control from the list provided, for example “Expected provider” and click on the “Add a new control” button.

In a new menu that opens, you must specify the desired settings for this control. Depending on the control you choose, you must fill in the required fields indicated by an “*”.

You will always be asked to add a description of the control's objective, add a comment, and choose the control's criticality.

Once you have selected the settings, you can click on the “Submit” button.

The page of the new control list is displayed. It can now be used and will only run on objects with the selected transport mode. Objects with other transport modes will be ignored.

You can add multiple controls to the same context.

Creating a control without context

If you want to use a control without context, simply leave the context field blank and open the list of controls directly, select a control, then press the “Add a new control” button.

The form opens, displaying fields with different parameters depending on the selected control.

You can add as many controls as you want, then click on the “Submit” button to finish creating your control list.

Edit a control list

You can edit your control list at any time by clicking on the “Edit this control list” button.

If your control list contains several controls, the cogwheel icon allows you to organize the order of your controls. The controls in the first position will be executed first, and so on:

Types of contexts

You can use controls with or without context. A context allows you to filter the data to be controlled. If no context is selected, the added control will apply to all data in the target.

Transport mode

You can create a control list with a "Transport mode" context.

Controls subject to this context will only run on models associated to the transport mode you have selected. Models with other transport modes will be ignored.

Once the context has been created, you add the controls in the same way as shown above. These controls will be subject to the defined context.

Next operating period

You can create a control list with a "Operating period" context.

With this context, controls will only run on models operating on the selected days.

For example, you can check the presence of an attribute on lines operating on the next 30 days. Since the context is "operating on the next 30 days", lines not operating on the next 30 days will not be checked for the presence of an attribute.

Lines

You can create a control list with a "Line" context.

With this context, the controls will only run on selected lines.

 

Types of controls

Presence of an attribute

With the "Presence of an attribute" control, the user can check that a specific attribute has been filled in on the selected model.

The user can check all the non-mandatory attributes of the following targets:

  • lines

  • stop areas

  • vehicle journeys

  • journey patterns

  • companies

For example, the user can check the presence of the "Associated web page" attribute in the line target model:

Presence of a code

With the "Presence of a code" control, the user can check that a specific code has been entered in the selected model.

The user can select any code space defined in the Workgroup (see https://enroute.atlassian.net/wiki/x/AwBLsg).

The targeted models are :

  • lines

  • stop areas

  • vehicle journeys

For example, the user can check whether the "ticketing" code is present in the target vehicle journey model:

Presence of a custom field

If one of your referentials contains defined custom fields, you can check for their presence using the "Presence of a custom field" control.

The target models for your control are as follows:

  • lines

  • stop areas

  • company

  • journey pattern

  • vehicle journey

Code format

The user can check that a code has been entered in a specific format. This control can be performed on the following models:

  • Stop areas

  • Lines

  • Vehicle Journeys

Models with no code are ignored. Only models with the selected code are checked.

The expected format of the code must be specified using a regular expression.

More explanations and examples are available at Regular expression.

Below are some typical examples of regular expressions:

  • begins with a word: ^word

  • ends with a word: word$

  • contains a word: (word1|word2|word3)

Format of an attribute

The user can control whether an attribute in a model is filled in with a specific format. This control can be run on the following models:

  • Stop areas

  • Lines

  • Journey pattern

  • Vehicle journey

  • Company

You must select a target attribute, which will be subject to the control, present in the chosen model.

The expected format of the code must be specified using a regular expression.

More explanations and examples are available at Regular expression.

Below are some typical examples of regular expressions:

  • starts with a word: ^wor.

  • ends with a word: word$

  • contains a word: (word1|word2|word3)

Service count trend

The user can control that each line has a similar number of services each day to the previous and following weeks. The number of daily services is compared with the number of services on the same day of the week (Monday with previous and following Mondays).

The user can define :

  • the number N of weeks preceding the day analysed

  • the number M of weeks following the day analysed

  • the maximum difference P in the number of services (as a percentage)

  • the level of criticality raised by the control (error or warning).

When the control is run, an average is calculated including the same day of the week over N weeks before and M weeks after. If the number of services deviates from the average by more than P%, a warning or error will be raised by the control.

 

Speed within Journey Patterns

Users can control speeds within Journey patterns. Chouette uses the distances of missions as the crow flies if they are not specified. You can use the macro https://enroute.atlassian.net/wiki/spaces/PUBLIC/pages/2011922433/Macro+lists#Define-Journey-Pattern-distances-from-Shapes to fill in this information.

In the control form, you must define a minimum speed, maximum speed, and minimum distance for your control.

An error or warning will be displayed if the control detects a value in excess of those defined.

Presence of associated models

The user can control the presence of models associated with a target model. A minimum or maximum number can be specified for each model.

An error or warning will be raised if a value in excess of those defined is detected by the check.

Model status

The user can control the status of a model. A warning or error will be displayed if the status (enabled/disabled) of the target model does not conform to the status expected by the control.

 

With this control, you can detect any stop areas or lines that are disabled in your current offer.

Inclusion in a geographical area

The user can control whether a model is included in a given geographical area. This way, a warning or error will be displayed if the model checked is not present in the defined zone.

For each model, you need to enter the coordinates of the top left-hand corner and the bottom right-hand corner. These two points are used to define a rectangle forming the perimeter of the geographical area to be checked.

Expected provider

Users can control if the provider of a model belongs to their Workbench.

If the provider does not belong to the user's Workbench, an error or warning will be reported by the control.

Passing times in a time range

The user can check that the times of their offer are included in a time range.

It is possible to control:

  • all times

  • only the first times of each journey pattern

  • only the last times of each journey pattern

It is possible to configure a time period with a day offset:

For example, the user can set a time slot from 5 a.m. to 2 a.m. the following day.

Attribute uniqueness

The user can control that the value of the attribute of a target is unique within a given scope.

The scope of uniqueness of an attribute can be by Workgroup, Workbench, Provider, or DataSet.

The models that can be controlled are:

  • Stop area

  • Line

  • Company

  • Vehicule Journey

Code uniqueness

The user can check that the value of a code in a target code space is unique within a given scope.

The scope of code uniqueness can be by Workgroup, Workbench, Company, or Dataset.

The models that can be controlled are:

  • Route (in a dataset)

  • Journey Pattern (in a dataset)

  • Vehicle Journey (in a dataset)

  • Timetable (in a dataset)

  • Contract

  • Line

  • Line Group

  • Line Notice

  • Company

  • Stop Area

  • Stop Area Group

  • Entry Point

  • Shape

  • Point of interest

  • Service Facility Sets

  • Accessibility Assessment

  • Fare Zone

  • Line Routing Constraint Zone

  • Document

 

Service counts in a range

A user can control a minimum and maximum number of services on a dataset. This can be used to detect insufficient or excessive service for a period and therefore an error in the data.

Prerequisite: To run this control list, the statistics on service counts must be present in the dataset to be checked. To calculate the statistics on service counts, see the page: https://enroute.atlassian.net/wiki/spaces/PUBLIC/pages/2011922433/Macro+lists#Compute-Service-Counts

Services only in a validity period

The “Services only in a validity period” control checks that a line in a dataset does not contain any services outside its validity period. If the control detects vehicle journeys that run on dates outside the line's validity period, a warning or error will be reported.

 

Absence of attribute

With the “Absence of attribute” control, the user can check that a specific attribute is absent from the selected model.

The user can check all non-mandatory attributes of the following targets:

  • lines

  • stop areas

  • entry points

  • points of interest

  • routes

  • journey patterns

  • vehicle journeys

  • shapes

  • companies

  • documents

  • networks

  • connections

For example, the user can check that the attribute “Referent” is indeed absent from the model “Stop Area”:

Transport mode compatibility

With the “Stop Area & Line transport mode compatibility” control, the user can check that the stops used in a route are compatible with the lines in terms of transport mode.

An error or warning will be reported if a stop does not have a mode of transport compatible with the line that uses it.

Travel Time

The “Travel Time” control allows the user to check the duration of a journey between two stop areas on a given offer. To use this control, the user must enter the following information:

  • Departure stop area: Starting point of the journey.

  • Destination stop area: End point of the journey.

  • Departure time: The time at which the journey begins.

  • Maximum travel duration: The maximum time allowed for the journey.

The control analyzes the data to verify that the trips comply with the specified maximum duration. A warning or error will be reported if the travel times exceed the expected time.

To refine this control, it is recommended to add context, such as:

  • Line: To limit the control to a specific line.

  • Operating period: To restrict the control to certain periods.

When executing, it is necessary to define a target.

 

Launch a control manually

After creating your control list, you can execute it. Go to the list of control lists, select the gear icon “Execute this control list”:

You will be redirected to the execution page for your control list. You must enter a name, and a target dataset if necessary:

After validation, the control list is launched and you are redirected to a control list report.

Control reports

You can view the list of control list reports created by your organization in Workbench → Control List Reports.

In a control list report, you will find information about the processing and the control list launched:

  • the name given to the control list report

  • the name of the control list

  • the target referential, if any

  • the status of the control list (completed or in progress)

In the Control runs block, you will find a message and a link for each source targeted by the control:

For a user in charge of the Workgroup, it is possible to view the reports of control lists executed in all Workbenches.