Manage Real-Time codes with Chouette

Description

In Chouette, the user has the possibility to create codes using Macro lists in order to match his scheduled offer with his real-time offer in Ara SaaS. By using the identifiers to create these codes, stops, lines and vehicle journeys of the scheduled offer in GTFS can be matched with stops, lines and vehicle journeys of the real time offer in GTFS-RT.

Context and requirements

  • Chouette publishes the offer in GTFS with the stops, lines and vehicle journeys

  • Ara broadcasts a GTFS-RT feed which must use the same identifiers as the GTFS publication of Chouette

  • The identifiers of the stops, lines and vehicle journeys of the scheduled and real time offer must have similarities

 

Example :

Real-time offer

Scheduled offer

00004821

OPERATOR:StopArea:00004821

3

OPERATOR:Line:3

21_110_6_08:39:01

OPERATOR:VehicleJourney:21_110_6_08:39:01

 

Managing identifiers with Chouette

Creation of code spaces

Chouette must support a new type of code that will map stops, lines and vehicle journeys in Ara.

Code spaces are settable at the Workgroup level.

 

Macros for feeding the “Correspondance” codes

In the Macro lists, a macro “Create a code” allows you to specify the creation by Chouette of a code according to the format and the code space wanted.

For the example shown earlier, 3 macros are required. To learn more about Macro lists, see : Macro lists

Execute the Macro List

After creating the Macro List, it must be executed.

The result is directly visible on the Chouette stops, lines and vehicle journeys interfaces.

 

Ara publication

The Ara publication ensures that data (of the following days) is sent daily by Chouette to Ara.

  • Force a daily publication : so that Ara is fed even if the data is not updated in Chouette

  • Lines : all lines or the selected ones.

  • Ara Referential URL

  • Import token

 

Ara Exchange Partner update

The partner that broadcasts the GTFS-RT stream must use the "correspondance" code passed by the Ara publication (via the remote_objectid_kind parameter) :