-
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -54,6 +54,7 @@ | |
<xs:group ref="TripMobilityFilterGroup"/> | ||
<xs:group ref="TripPolicyGroup"/> | ||
<xs:group ref="TripContentFilterGroup"/> | ||
<xs:element name="UserPreferences" type="UserPreferencesStructure" minOccurs="0" maxOccurs="1"/> | ||
<xs:element name="FareParam" type="FareParamStructure" minOccurs="0"/> | ||
<xs:element name="Extension" type="xs:anyType" minOccurs="0"/> | ||
</xs:sequence> | ||
|
@@ -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> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="IncludeFare" type="xs:boolean" default="false" minOccurs="0"> | ||
<xs:annotation> | ||
<xs:documentation>Whether the result should include fare information.</xs:documentation> | ||
|
@@ -208,6 +214,17 @@ | |
<xs:documentation>Trip response structure.</xs:documentation> | ||
</xs:annotation> | ||
<xs:sequence> | ||
<xs:element name="Score"> | ||
<xs:annotation> | ||
<xs:documentation>The score from User Preferences or the algorithm.</xs:documentation> | ||
</xs:annotation> | ||
<xs:simpleType> | ||
<xs:restriction base="xs:float"> | ||
<xs:minInclusive value="0"/> | ||
<xs:maxInclusive value="1"/> | ||
</xs:restriction> | ||
</xs:simpleType> | ||
</xs:element> | ||
<xs:element name="TripResponseContext" type="ResponseContextStructure" minOccurs="0"> | ||
<xs:annotation> | ||
<xs:documentation>Context to hold trip response objects that occur frequently.</xs:documentation> | ||
|
@@ -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 commentThe 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 commentThe reason will be displayed to describe this comment to others. Learn more. Stefan: safe vs fast. safety was more of not getting robbed below.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Alexandre: https://crimeandplace.com/ |
||
<xs:annotation> | ||
<xs:documentation>A collection of user preferences to allow the algorithm to narrow-down multimodal trip combinations to those that may be suitable for the user.</xs:documentation> | ||
</xs:annotation> | ||
<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 commentThe 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] |
||
</xs:annotation> | ||
<xs:simpleType> | ||
<xs:restriction base="xs:string"> | ||
<xs:enumeration value="important"/> | ||
<xs:enumeration value="average"/> | ||
<xs:enumeration value="unimportant"/> | ||
</xs:restriction> | ||
</xs:simpleType> | ||
</xs:element> | ||
<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 commentThe 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] |
||
<xs:simpleType> | ||
<xs:restriction base="xs:string"> | ||
<xs:enumeration value="important"/> | ||
<xs:enumeration value="average"/> | ||
<xs:enumeration value="unimportant"/> | ||
</xs:restriction> | ||
</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 commentThe 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] |
||
<xs:documentation>User's preference about the comfort/convenience of the trip, including few changes, short transfers and convenient vehicle types. Reflect USER PREFERENCE from Transmodel</xs:documentation> | ||
</xs:annotation> | ||
<xs:simpleType> | ||
<xs:restriction base="xs:string"> | ||
<xs:enumeration value="premium"/> | ||
<xs:enumeration value="average"/> | ||
<xs:enumeration value="basic"/> | ||
</xs:restriction> | ||
</xs:simpleType> | ||
</xs:element> | ||
<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 commentThe 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] |
||
<xs:simpleType> | ||
<xs:restriction base="xs:string"> | ||
<xs:enumeration value="high"/> | ||
<xs:enumeration value="average"/> | ||
<xs:enumeration value="low"/> | ||
</xs:restriction> | ||
</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 commentThe 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] |
||
<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 commentThe 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) |
||
<xs:enumeration value="high"/> | ||
<xs:enumeration value="average"/> | ||
<xs:enumeration value="low"/> | ||
</xs:restriction> | ||
</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 commentThe 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] |
||
<xs:documentation>User's preference not be exposed to eventual weather hazards, thus, to avoid walks and micromobility.</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<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 commentThe 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] |
||
</xs:element> | ||
<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 commentThe 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] |
||
</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 commentThe 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 commentThe 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. |
||
<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 commentThe 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] |
||
</xs:element> | ||
<xs:element name="Scenic" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"> | ||
<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 commentThe 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] |
||
<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 commentThe 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] |
||
</xs:element> | ||
<xs:element name="TripReason" type="TripReasonEnumeration" minOccurs="0" maxOccurs="1"> | ||
Aurige marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<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 commentThe 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: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 commentThe 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:simpleType> | ||
<xs:restriction base="xs:string"> | ||
<xs:enumeration value="normal"> | ||
<xs:annotation> | ||
<xs:documentation>e.g. yellow hiking signs</xs:documentation> | ||
</xs:annotation> | ||
</xs:enumeration> | ||
<xs:enumeration value="medium"> | ||
<xs:annotation> | ||
<xs:documentation>e.g. white-red-white hiking signs</xs:documentation> | ||
</xs:annotation> | ||
</xs:enumeration> | ||
<xs:enumeration value="difficult"> | ||
<xs:annotation> | ||
<xs:documentation>E.g. white-blue-white hiking signs</xs:documentation> | ||
</xs:annotation> | ||
</xs:enumeration> | ||
</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 commentThe 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 commentThe reason will be displayed to describe this comment to others. Learn more. Will adapt |
||
<xs:annotation> | ||
<xs:documentation>Users cycling profile (especially for sportive activities).</xs:documentation> | ||
</xs:annotation> | ||
<xs:simpleType> | ||
<xs:restriction base="xs:string"> | ||
<xs:enumeration value="normalfast"> | ||
<xs:annotation> | ||
<xs:documentation>fastest normal cycle route</xs:documentation> | ||
</xs:annotation> | ||
</xs:enumeration> | ||
<xs:enumeration value="normalgreen"> | ||
<xs:annotation> | ||
<xs:documentation>greenest normal cycle route</xs:documentation> | ||
</xs:annotation> | ||
</xs:enumeration> | ||
<xs:enumeration value="normalcomfortable"> | ||
<xs:annotation> | ||
<xs:documentation>family friendly and leisurely route</xs:documentation> | ||
</xs:annotation> | ||
</xs:enumeration> | ||
</xs:restriction> | ||
</xs:simpleType> | ||
</xs:element> | ||
</xs:sequence> | ||
</xs:complexType> | ||
<xs:simpleType name="TripReasonEnumeration"> | ||
<xs:annotation> | ||
<xs:documentation>Possible TRIP REASON.</xs:documentation> | ||
</xs:annotation> | ||
<xs:restriction base="xs:string"> | ||
<xs:enumeration value="workCommute"/> | ||
<xs:enumeration value="schoolPickupDropoff"/> | ||
<xs:enumeration value="shopping"/> | ||
<xs:enumeration value="leisure"/> | ||
<xs:enumeration value="hike"/> | ||
<xs:enumeration value="business"/> | ||
<xs:enumeration value="delivery"/> | ||
<xs:enumeration value="appointment"/> | ||
<xs:enumeration value="other"/> | ||
</xs:restriction> | ||
</xs:simpleType> | ||
<xs:group name="MultiPointWaitTimeGroup"> | ||
<xs:annotation> | ||
<xs:documentation>Group for wait times at origin/destination.</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.