Search offers - the 'Who' part - 20260702#65
Conversation
| residency: | ||
| type: string | ||
| description: Country of residency (ISO 3166-1 alpha-2) for domestic vs. international fare eligibility. | ||
| dateOfBirth: |
There was a problem hiding this comment.
Not only field name TBD, but is it still needed 'on top of' the age in the Traveller itself?
| const: animal | ||
| type: | ||
| type: string | ||
| description: Category of animal (operator-defined, e.g. dog, cat, other). |
There was a problem hiding this comment.
This is not operator-defined. We can propose categories, and if organisations want to extend it, they can, after notifying the OTI governance body.
There was a problem hiding this comment.
Could also be a categorisation by size of the animal as it often as more impact of the footprint of a travelling entity
|
@Ulf9 I'm missing the 'entitlement rights' in the diagram. |
|
| additionalProperties: false | ||
| description: ENTITLEMENT RIGHT — a credential held by a travelling entity that may qualify for reduced fares or additional offers (loyalty card, discount card, company card, concession, etc.). | ||
| required: | ||
| - entitlementType |
There was a problem hiding this comment.
I think 'code' is required as well.
There was a problem hiding this comment.
Could you clarify what you mean by 'code' here? I would suggest adding something more explicit such as 'entitlementReference'
| @@ -0,0 +1,23 @@ | |||
| TravellerQualifyingCharacteristics: | |||
There was a problem hiding this comment.
Isn't this an object for the purchase?
There was a problem hiding this comment.
I would also like to see it in the purchase
| - car | ||
| - motorhome | ||
| - caravan | ||
| - motorbike |
There was a problem hiding this comment.
rather use 'motorcycle' for consistency with other standards
There was a problem hiding this comment.
@TuThoThai to mlist here values from Transmodel for vehicle types for consistency
| assistant: | ||
| type: boolean | ||
| description: Whether this traveller acts as an assistant to another traveller. | ||
| dateOfBirth: |
There was a problem hiding this comment.
I would not include the 'date of birth' here as the age matters more when searching for an offer. I think 'date of birth' is used more for validation before commit
| externalReference: | ||
| type: string | ||
| description: Caller-assigned external reference for this traveller. | ||
| personalNeeds: |
There was a problem hiding this comment.
We could split between 'personalNeeds' & 'assistanceNeeds' with the 2nd one referring to specific services
| - musicalInstrument | ||
| - other | ||
| length: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| length: | ||
| type: integer | ||
| minimum: 0 | ||
| description: Length in centimetres. |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: Length in meters.
| description: Issuing authority or scheme name. | ||
| entitlementType: | ||
| type: string | ||
| description: Type of entitlement (operator-defined lookup value, e.g. loyaltyCard, discountCard, concession). |
There was a problem hiding this comment.
As for animals, we can propose categories
| properties: | ||
| issuer: | ||
| type: string | ||
| description: Issuing authority or scheme name. |
There was a problem hiding this comment.
An optional identifier could be added (like RICS code)
| type: string | ||
| qualifyingCharacteristics: | ||
| description: Additional qualifying characteristics used for eligibility determination. Only to specify in the purchase request | ||
| $ref: .\TravellerQualifyingCharacteristics.yaml No newline at end of file |
There was a problem hiding this comment.
gender to be added (less and less required, but still necessary in some use cases)
There was a problem hiding this comment.
@OlivierBigex, For the search, though?
For the commit / lock part in which you exchange personal details such as the date of birth, ok. But clearly not here.
There was a problem hiding this comment.
Sure, but even to request availability of compartment in a night train ?
| EntitlementRight: | ||
| type: object | ||
| additionalProperties: false | ||
| description: ENTITLEMENT RIGHT — a credential held by a travelling entity that may qualify for reduced fares or additional offers (loyalty card, discount card, company card, concession, etc.). |
There was a problem hiding this comment.
I don't see where to give information on NFC smartcard held by a passenger. It is not a mean to get reduced or additional offer. thus:
- either generalize this area with any object held by a traveller that could impact the distribution (not only a mean to get a reduced or additional offer).
- or create a dedicated object around fulfilment device held by the traveller (NFC card, ID of a enrolled smartphone)
| width: | ||
| type: integer | ||
| minimum: 0 | ||
| description: Width in centimetres. |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: Width in meters.
| height: | ||
| type: integer | ||
| minimum: 0 | ||
| description: Height in centimetres. |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: Height in meters.
| minimum: 0 | ||
| description: Length in centimetres. | ||
| width: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| minimum: 0 | ||
| description: Width in centimetres. | ||
| height: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| minimum: 0 | ||
| description: Height in centimetres. | ||
| weight: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| - bicycle | ||
| - trailerOnly | ||
| height: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| minimum: 0 | ||
| description: Height of the vehicle in centimetres. | ||
| width: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| minimum: 0 | ||
| description: Width of the vehicle in centimetres. | ||
| length: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| minimum: 0 | ||
| description: Total length of the vehicle in centimetres. | ||
| weight: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| height: | ||
| type: integer | ||
| minimum: 0 | ||
| description: Height of the vehicle in centimetres. |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: Height in meters.
| width: | ||
| type: integer | ||
| minimum: 0 | ||
| description: Width of the vehicle in centimetres. |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: Width in meters.
| length: | ||
| type: integer | ||
| minimum: 0 | ||
| description: Total length of the vehicle in centimetres. |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: Length in meters.
| - motorbike | ||
| - bicycle | ||
| - trailerOnly | ||
| height: |
There was a problem hiding this comment.
For consistency with the luggage, it should be in the same order "length, width, height, weight"
| - towbar | ||
| - rear | ||
| height: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| minimum: 0 | ||
| description: Height of the rack in centimetres. | ||
| width: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| minimum: 0 | ||
| description: Width of the rack in centimetres. | ||
| length: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| minimum: 0 | ||
| description: Length of the rack in centimetres. | ||
| weight: | ||
| type: integer |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: decimal
| - roof | ||
| - towbar | ||
| - rear | ||
| height: |
There was a problem hiding this comment.
For consistency with the luggage, it should be in the same order "length, width, height"
| height: | ||
| type: integer | ||
| minimum: 0 | ||
| description: Height of the rack in centimetres. |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: Height in meters.
| width: | ||
| type: integer | ||
| minimum: 0 | ||
| description: Width of the rack in centimetres. |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: Width in meters.
| length: | ||
| type: integer | ||
| minimum: 0 | ||
| description: Length of the rack in centimetres. |
There was a problem hiding this comment.
For consistency with other Transmodel-based standard: Length in meters.
| entityType: | ||
| type: string | ||
| const: animal | ||
| type: |
There was a problem hiding this comment.
it could be interesting to indicate the size of the animal. Particularly if it fits in a basket or not (possibly not the same price).

This is the new image:

Example travelling party, a person with a bike (indicative):
[ { "travellingEntityId": "TR-342", "entitlements": [ { "code": "SUMMER27", "entitlementType": "reduction_code", "issuer": "XEI" } ]. "entityType": "traveller", "age": 34 }, { "travellingEntityId": "TR-24391", "entityType": "vehicle", "type": "bicycle" } ]