-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update on User Preferences #221
Conversation
Do we need some hasHeavyLuggage boolean or something like that? |
Not sure. Would only make sense - from my point of view - if mist of ther requested systems would support such a request. Which then, refers to adequate time table data (vehicles and stations) to support specific searches. |
@@ -147,6 +148,11 @@ | |||
<xs:documentation>Whether the result should include intermediate stops (between the passenger's board and alight stops).</xs:documentation> | |||
</xs:annotation> | |||
</xs:element> | |||
<xs:element name="IncludeSecondBestOptions" type="xs:boolean" default="false" minOccurs="0"> | |||
<xs:annotation> | |||
<xs:documentation>Whether second best options should be presented as well. Mainly important for dominated journeys or in the case of ContinuousLegs the second best route.</xs:documentation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Second best is a vague term. If you want pluriformity in the search results, I would rather go for something specific like IncludeAlternativeOptions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Malte: How far dominated?
Markus: Not only time. Price etc., but playing with strategy.
Stefan: So give me two is not good.
Malte: Even one that is worse in everything. Current algorithm throw out options. Truly dominated options, not throwing it out, would be a problem.
Alexandre (Cityways): I worked on a PhD thesis. Distance defined, the results are interesting. Matchin user expectence. (chapter 5, https://tel.archives-ouvertes.fr/tel-01848737 ). A random display of trips that maximize diversity.
Malte: Not losing to much quality is important.
Matthias: More diversity is the idea
Malte: Clearer annotation needed.
==> Annotation needs be better.
==> IncludeAlternativeOptions will be renamed.
@@ -878,6 +895,172 @@ | |||
<xs:element name="TripFare" type="TripFareResultStructure" minOccurs="0" maxOccurs="unbounded"/> | |||
</xs:sequence> | |||
</xs:complexType> | |||
<xs:complexType name="UserPreferencesStructure"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I miss a safety related parameter here. OpenTripPlanner for example has bicycle safety.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stefan: safe vs fast. safety was more of not getting robbed below.
Markus: Extrasafe is not really only about that.
Stefan: What do you meand for safe? In OTP it is traffic safety.
Markus: I meant accidents and crime.
Stefan: I suggest to split it into
Safety:
- traffic safety. TrafficSafe
- feeling safe WellLitAndFrequented xx
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alexandre: https://crimeandplace.com/
As from the meeting I think I would like to see an addition in |
User Preference discussion 18.8.2022 • Malte Introduction by Markus Decisions: All user preferences need to be mappable to low – level functions, if needed add additonal low-level criteria. AccessFeature Decision: Multiple searches for accessibility. Decision: Combined request and the several requests with single optimisation. |
<xs:documentation>User's preference for an extra high reliability (low probabilty of delays, cancellations, etc.).</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="ExtraAccessible" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May need to be specialised depending on the disabilities (visual, hearing, wheelchair, pushchair or heavy luggages...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stefan: I don't think we need to have it more than the other accessibility description.
Markus: More emphasis.
Malte: All bases are already covered (like NoStairs).
Stefan: Probably another OptimisationMethod "Accessible"
Markus: Not changing too much, extra time for changes
Malte: One request with multiple optimisation methods. This makes things more vague and will add more problems on this. We should try to minimize there.
Markus: I think next step would be to write the chapter. It should be more hints as the trip planner knowing more.
</xs:restriction> | ||
</xs:simpleType> | ||
</xs:element> | ||
<xs:element name="CyclingProfile" default="normalfast" minOccurs="0" maxOccurs="1"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why having a "normal" prefix, and not just Fast/Green/Comfortable ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will adapt
Malte: How do we get to a similar understanding to these user preferences? Same interpretations from distributed systems.? |
<xs:sequence> | ||
<xs:element name="LowPrice" default="average" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> | ||
<xs:documentation>User's preference that the trip has a low price.</xs:documentation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If important, the trip planner should prioritize options (modes, lines, operators) known for low price, such as bus or coach.
If unimportant, also consider options which are usually more epensive, such as taxi or ridehailing, and also for longer distances.
E.g., take a taxi to the central station instead of a PT ride with transfers.
<xs:element name="Speed" default="average" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> | ||
<xs:documentation>User's preference about the speed/short duration of the trip.</xs:documentation> | ||
</xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If important, duration should be the top criterion and only the fastest connections should be considered.
If unimportant, duration should have little or no influence on the trip planning.
</xs:simpleType> | ||
</xs:element> | ||
<xs:element name="Comfort" default="average" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If premium, prioritize few and short changes, and modes known for convenience, especially taxi.
Avoid self-powered modes and urban transit.
If basic, allow for more transfers and allow all modes.
<xs:element name="Sportiness" default="average" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> | ||
<xs:documentation>User's endurance and fitness for sportive, self-powered trip legs (walk, cycle, etc.).</xs:documentation> | ||
</xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If high, allow for 200 % longer legs with self-powered modes and assume 50 % faster speed on those modes.
If low, restrict to 50 % shorter walking legs, assume 50 % lower walking speed and exclude
other self-powered/micromobility modes.
</xs:simpleType> | ||
</xs:element> | ||
<xs:element name="EnvironmentalSafety" default="average" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If high, favour "green" modes/lines such as bike sharing and (electric) trains, avoid or restrict modes/lines
known for higher CO2 emissions such as (conventional) taxi, ridehailing or coach.
If low, basically ignore (same as average).
(Probably better to turn it into a true/false option)
</xs:simpleType> | ||
</xs:element> | ||
<xs:element name="WeatherProtection" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If true, micromobility should be excluded and walks for the first/last leg avoided,
e.g. use a bus or taxi even for a short distance.
<xs:element name="ExtraSafe" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> | ||
<xs:documentation>User's preference for an extra high level of safety.</xs:documentation> | ||
</xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If true, certain modes, lines or zones/districts known for lower safety, i.e. higher risk of accidents and crime,
may be avoided, others may be preferred. This may depend on the actual, local or time of day situation.
E.g. bike or scooter may be considered unsafe in some cities/districts while safe in others.
<xs:element name="ExtraReliable" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> | ||
<xs:documentation>User's preference for an extra high reliability (low probabilty of delays, cancellations, etc.).</xs:documentation> | ||
</xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If true, modes known for their (un)reliability may be avoided/preferred, and extra time added for transfers.
This may depend on the actual, local or time of day situation,
based on punctuality statics, traffic jam statistics or rush hours.
E.g. taxis in a given city might be known to be unreliable during at 8-10 and 16-19 hours, otherwise reliable.
<xs:element name="ExtraAccessible" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> | ||
<xs:documentation>User's preference for perfect accessibility (lifts, ramps, no stairs, etc.), including extra transfer time, short transfer distances, etc.. May be superseeded by EPIAP updates. TODO</xs:documentation> | ||
</xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If true, few and short transfers are preferred, stations/hubs with insufficient accessibility avoided.
(Based on the assumption that these same measures help in most cases,
regardless of the details of the actual impairment.
E.g. a station well equiped for wheelchairs will typically also be well equiped for visually impaired.)
<xs:annotation> | ||
<xs:documentation>User's preference for scenic, touristic impressions on some parts of the trip.</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If true, certain lines or routes known for their scenicness may be prioritized.
<xs:element name="Peaceful" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> | ||
<xs:documentation>User's preference for peacful transport (quiet travel compartements or low occupation).</xs:documentation> | ||
</xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This extra text could be added to give more hints about the meaning and how it should be implemented]
If true, modes/lines offering extra privacy should be preferred.
<xs:element name="WalkingProfile" default="normal" minOccurs="0" maxOccurs="1"> | ||
<xs:annotation> | ||
<xs:documentation>Users walking profile (especially for hiking)</xs:documentation> | ||
</xs:annotation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May be somewhat exotic or rarely used preference. Is it useful in the context of the other user preferences? Are these colour codes standardized in Europe? Most countries will have none of these.
<xs:annotation> | ||
<xs:documentation>A classification of a passenger's reason for undertaking a TRIP PATTERN (TRIP REASON from Transmodel).</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This classification may have overlaps with the ones above. Needs to be discussed whether this is useful in combination with the above preferences, or as an alternative, or even a complete, sufficient replacement of the above criterions?
<xs:documentation>User's preference about climate/environmental-friendliness of the trip (option 'low' might have no effect).</xs:documentation> | ||
</xs:annotation> | ||
<xs:simpleType> | ||
<xs:restriction base="xs:string"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May be define common types for enumeration to avoid multiple definition of the same values (here high/average/low, but this happens several times)
is now implemented in #271 |
Removed documentation label, documentation will be done for the follow-up PR. |
USER PREFERENCE added with a lot of possible content. The attached paper is an introduction (not 100% aligned between PR and documentation yet. As I think this needs discussion, We will adapt pull request and specification at the same time.
Includes work done by @markus-meier-sbb and @herlitze
2144934064_4af1fe6093104c4fbe434b74bba5cfb0-250722-1701-3540.pdf