File structure
The file contains all element of the model repeated for each day we want to import. Each line starts with the element type.
As rows doesn’t have the same number of attributes, there are no headers.
Comments are '#'.
Separators are ',' leading spaces are trimed
Quotes are escaped with another quote ex: "[""1234"",""5678""]"
General constraints
All uuids must respect the postgresql uuid data type constraints.
All Hashes and Arrays are parsed as JSON objects and must respect the JSON syntax.
For all models, only the Type, Id, and ModelName must be present
Operator
Example: operator,a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11,2017-01-01,Name,{"objectidKind":"operatorObjectid"}
Attribute | Format |
---|---|
Type |
|
Id | UUID |
ModelName | YYYY-MM-DD |
Name | String |
ObjectIDs | Hash |
Stop Area
Example: stop_area,a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11,b0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11,c0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11,2017-01-01,Name,{"objectidKind":"stopAreaObjectid"},"[""d0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"",""e0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11""]","{""AttributeKey"":""abcd""}","{""ReferenceType"":{""ObjectId"":{""objectidKind"":""5678""},""Id"":""42""}}",true,true,true
Attribute | Format |
---|---|
Type |
|
Id | UUID |
ParentId | UUID |
ReferentId | UUID |
ModelName | YYYY-MM-DD |
Name | String |
ObjectIDs | Hash |
LineIds | Array of UUID |
Attributes | Hash |
References | Hash |
CollectedAlways | boolean |
CollectChildren | boolean |
CollectGeneralMessages | boolean |
Lines
Example: line,f0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11,2017-01-01,Name,{"objectidKind":"lineObjectid"},"{""AttributeKey"":""abcd""}","{""ReferenceType"":{""ObjectId"":{""objectidKind"":""5678""},""Id"":""42""}}",true
Attribute | Format |
---|---|
Type |
|
Id | UUID |
ModelName | YYYY-MM-DD |
Name | String |
ObjectIDs | Hash |
Attributes | Hash |
References | Hash |
CollectGeneralMessages | boolean |
Vehicle Journeys
Example: vehicle_journey,a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11,2017-01-01,Name,{"objectidKind":"VJObjectid"},a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a12,Origin,Destination,"{""AttributeKey"":""abcd""}","{""ReferenceType"":{""ObjectId"":{""objectidKind"":""5678""},""Id"":""42""}}"
Attribute | Format |
---|---|
Type |
|
Id | UUID |
ModelName | YYYY-MM-DD |
Name | String |
ObjectIDs | Hash |
LineId | UUID |
OriginName | String |
DestinationName | String |
Attributes | Hash |
References | Hash |
Stop Visits
Example: stop_visit,a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11,2017-01-01,{"objectidKind":"VJObjectid"},a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a12,a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a13,1,"[{""Kind"":""expected"",""ArrivalTime"":""2017-08-17T10:45:50+02:00"",""DepartureTime"":""2017-08-17T10:45:55+02:00""}]","{""AttributeKey"":""abcd""}","{""ReferenceType"":{""ObjectId"":{""objectidKind"":""5678""},""Id"":""42""}}"
A stop visit schedule is a hash with the following keys:
Kind: "aimed", "expected", or "actual"
DepartureTime: Time in ISO 8601 standard as a string (optionnal)
ArrivalTime: Time in ISO 8601 standard as a string (optionnal)
Attribute | Format |
---|---|
Type |
|
Id | UUID |
ModelName | YYYY-MM-DD |
ObjectIDs | Hash |
StopAreaId | UUID |
VehicleJourneyId | UUID |
PassageOrder | Int |
Schedules | Array of Hash |
Attributes | Hash |
References | Hash |