Skip to content

Commit 53c61e6

Browse files
multunKhoyo
authored andcommitted
design-docs: timetable: unify arrival times and margin types
Co-Authored-By: Younes Khoudli <[email protected]>
1 parent 62e6932 commit 53c61e6

File tree

1 file changed

+37
-13
lines changed
  • content/docs/reference/design-docs/timetable

1 file changed

+37
-13
lines changed

content/docs/reference/design-docs/timetable/index.en.md

+37-13
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,12 @@ What we can do about outdated trains:
100100

101101
Note: The outdated status is a nice to have feature (it won't be implemented right now).
102102

103+
### Separating stops and time constraints
104+
105+
This is a side effect of unifying margins with arrival times: as arrival times now
106+
are just another way to give time constraints, it makes little sense to bundle stops
107+
with arrival times.
108+
103109
## Creation fields
104110

105111
These fields are required at creation time, but cannot be changed afterwards.
@@ -131,19 +137,37 @@ path:
131137
- {id: c, deleted: true, waypoint: true, trigram: ABC}
132138
- {id: d, waypoint: true, track: toto, offset: 42}
133139

134-
# the algorithm used for computing the standard margins AND scheduled points
135-
distribution_margins: MARECO
136-
137-
standard_margins:
138-
# the begin and end waypoints are always implicitly added
139-
intermediate_waypoints: [b]
140-
values: ["5%", "2%"]
141-
142-
# all durations and times are specified using ISO 8601
143-
scheduled_points:
144-
- {at: a, arrival: PT0M, stop_for: PT5M}
145-
- {at: b, arrival: PT10M}
146-
- {at: c, arrival: PT25M}
140+
stops:
141+
- {at: a, for: PT5M}
142+
143+
# time constraints are optional
144+
time_constraints:
145+
# algorithm used to distribute time over space
146+
distribution: MARECO
147+
148+
# time constraints apply on the entire path. boundaries delimit
149+
# zones which can be configured with distinct time constraints.
150+
boundaries: [b, c]
151+
152+
# there are two interchangeable ways of adding constraints:
153+
# margins and arrival times. there has to be as many constraints
154+
# as zones: if there are N boundaries, there are be N + 1 zones,
155+
# and thus there must be N + 1 constraints
156+
# the following margin time units are supported:
157+
# - %: a percentage of the time it normaly takes to pass though the zone
158+
# - s/km or min/km: seconds or minutes per kilometer in the zone
159+
# - s or min: seconds or minutes
160+
constraints:
161+
# applies from a to b
162+
- margin: "10min"
163+
164+
# applies from b to c. arrival time takes precedence over the
165+
# percentage margin, but there still must be at least 5% margin
166+
# the arrival time is ISO 8601 seconds since departure
167+
- {arrival_time: PT25M, margin: "5%"}
168+
169+
# applies from c to d
170+
- margin: "30s/km"
147171

148172

149173
# train speed at departure, in meters per second

0 commit comments

Comments
 (0)