Search offers - the 'What' part - Trip based - 20260702#67
Search offers - the 'What' part - Trip based - 20260702#67edwinvandenbelt wants to merge 1 commit into
Conversation
| duration: | ||
| type: integer | ||
| description: Duration of the leg in minutes | ||
| individualMode: |
There was a problem hiding this comment.
@Ulf9 What is this? I don't see it in TM.
There was a problem hiding this comment.
It should be PersonalModeofOperations
| individualMode: | ||
| type: string | ||
| enum: [] | ||
| start: |
There was a problem hiding this comment.
startPlace?
There was a problem hiding this comment.
keep consistent with TimedLeg
| start: | ||
| type: string | ||
| format: place-ref | ||
| end: |
There was a problem hiding this comment.
and endPlace?
| type: string | ||
| description: discriminator for the leg type | ||
| const: continuous | ||
| continuousMode: |
There was a problem hiding this comment.
I don't know this one.
| mode: | ||
| type: string | ||
| description: Mode of transportation for the leg (e.g., bus, train, walking). See modes as specified in NeTEx. | ||
| enum: [] |
There was a problem hiding this comment.
should be a ref to Mode.yaml
There was a problem hiding this comment.
Yes, it would be clearer.
| @@ -0,0 +1,28 @@ | |||
| type: object | |||
| properties: | |||
| searchOfferId: | |||
There was a problem hiding this comment.
should be 'allOf' + request.yaml. The searchOfferId = requestId
| description: Reference to the operating day associated with this leg | ||
| format: day-of-week | ||
| enum: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday] | ||
| privateMode: |
There was a problem hiding this comment.
Again, what does this mean?
There was a problem hiding this comment.
To make consistent with Transmodel: PersonalModesOfOperationEnumeration
There was a problem hiding this comment.
Though it might not be needed in the TimedLeg
| privateMode: | ||
| type: string | ||
| enum: [] | ||
| ptMode: |
There was a problem hiding this comment.
Why isn't 'mode' on the Leg level (as specified) enough?
| type: string | ||
| description: discriminator for the leg type | ||
| const: transfer | ||
| continuousMode: |
There was a problem hiding this comment.
And again, I don't know what should be in here. There is already 'mode' at leg level, what does this mode mean?
| duration: | ||
| type: integer | ||
| description: Duration of the leg in minutes | ||
| transferMode: |
There was a problem hiding this comment.
And again, I don't know what should be in here. There is already 'mode' at leg level, what does this mode mean?
| transferMode: | ||
| type: string | ||
| enum: [] | ||
| start: |
There was a problem hiding this comment.
startPlace?
| start: | ||
| type: string | ||
| format: place-ref | ||
| end: |
|
If there is a trip pattern section, is the retailer supposed to provide to the distributor the complete trip, even sections that are not covered by the distributor (in case of multi-distributor trip) ? |
| - "ISO/IEC 7816-4" # NFC, MIFARE DESFire | ||
| - "GATT" # Bluetooth Low Energy | ||
| - "AXA Bike lock" # AXA Bike lock | ||
| - "OTHER" # Other content standard |
There was a problem hiding this comment.
is calypso card somewhere in that list ?
| - "ISO/IEC 7816-4" # NFC, MIFARE DESFire | ||
| - "GATT" # Bluetooth Low Energy | ||
| - "AXA Bike lock" # AXA Bike lock | ||
| - "OTHER" # Other content standard |
There was a problem hiding this comment.
could be interesting to avec an object for the Fulfillment Storage Location (or something more accurate): ON_MEDIA, ON_SYSTEM. Indicating if the ticket is technically stored in the media or in system.
| description: The channel of the offer. | ||
| x-enum-values: | ||
| - "web" | ||
| - "mobile" |
| allOf: | ||
| - $ref: .\Leg.yaml | ||
| - type: object | ||
| properties: |
There was a problem hiding this comment.
to add:
- modeOfOperation: enum, to be found in OJP/NeTEx. (fixed)
| enum: [] | ||
| sequenceNumber: | ||
| type: integer | ||
| description: The order of the leg in the overall journey. In case of parallel legs, the sequence number should be the same for those legs. |
There was a problem hiding this comment.
Further discussion / modelling is needed on the concept of parallel leg especially if we are taking into account parking
| - "application/pdf" | ||
| - "image/jpeg" | ||
| - "image/svg+xml" | ||
| contentStandard: |
There was a problem hiding this comment.
The client must indicate the technology of issuing:
FulfillmentMediaType: ["ALLOCATOR_APP","DISTRIBUTOR_APP","RETAILER_APP","FULFILLMENT_PARTS","PDF_A4","PKPASS","RCCST","RCT2","UIC_PDF","TICKETLESS","APPLICATION","WALLET","CHIP_CARD"]
The dedicated applications available:
Application: string : this is proprietary coding to be agreed multilateraly with the providers of the applications / specifications
The specification used via the application:
Specification: string : this is proprietary coding to be agreed multilateraly with the providers of the applications / specifications
| type: string | ||
| description: The content standard of the offer. | ||
| x-enum-values: | ||
| - "ISO/IEC 18004" # QR Code |
There was a problem hiding this comment.
Which format the barcode included in a pdf, jpg or wallet fulfillment has is not relevant.
| mode: | ||
| type: string | ||
| description: These classes are taken from the NeTeX standard, but ALL and UNKNOWN are removed. On the other hand OTHER and PARKING are added. | ||
| enum: [ AIR, |
There was a problem hiding this comment.
this should be extensible
| afterSalesLevel: | ||
| type: string | ||
| enum: | ||
| - "cancellable" |
There was a problem hiding this comment.
what is the difference between cancellable and refundable?
There was a problem hiding this comment.
LegAlight is used in ScheduledLegs. To include continuous leg data like DownLocation and pickup location there needs to be a ContinuousLeg"Alight".
There was a problem hiding this comment.
LegBoard is used in ScheduledLegs. To include continuous leg data like DownLocation and pickup location there needs to be a ContinuousLegBoard.
| type: array | ||
| items: | ||
| type: string | ||
| format: train-number |
There was a problem hiding this comment.
Where is the train-number format?
| type: string | ||
| format: stop-point-ref | ||
| description: Reference to the stop point where the leg starts | ||
| trainNumbers: |
There was a problem hiding this comment.
regional traffic often uses line numbers instead of train numbers. To be multimodal it should be named vehicleNumbers.
There was a problem hiding this comment.
Or ServiceJourney/PublicCode according to NeTEx. But shall be definitly multimodal
| @@ -0,0 +1,26 @@ | |||
| type: object | |||
| required: | |||
| - pickupLocation | |||
There was a problem hiding this comment.
pickupLocation is for continuous legs only
| $ref: .\Mode.yaml | ||
| class: | ||
| type: string | ||
| x-enum-values: |
There was a problem hiding this comment.
airline categories are of little use. Use rail and public transport classes:
["FIRST","SECOND","ANY_CLASS"]
["BEST","HIGH","STANDARD","BASIC","ANY_CLASS"]
There was a problem hiding this comment.
There is a large differece between the trip data in the request and the trip data in the reply. The requested trip data are reduced and only need to describe the trip uniquely whereas the trip in replies includes a lot more details (realtime delay information, platform information, the time format for departure and arrival is different (local date time in requests, UTC with offset in replies). I would suggest to use a TripSpecification, LegSpecification in the request.
| type: string | ||
| description: discriminator for the leg type | ||
| const: timed | ||
| journeyRef: |
There was a problem hiding this comment.
The TimedLeg must contain the DatedJourney, a ref does not work.
DatedJourney:
type: object
additionalProperties: false
description: |
Vehicle journey that runs at a specific date. Provided by OJP.
required:
- vehicleNumbers
properties:
operatingDayRef:
$ref: '#/components/schemas/OperationDayRef'
mode:
$ref: '#/components/schemas/Mode'
productCategory:
$ref: '#/components/schemas/ProductCategory'
publishedServiceName:
description: |
Line name or service description as known to the public, f.e. '512', 'S8'
or 'Circle Line' or 'ICE 488'.
type: string
nullable: true
example: S1
vehicleNumbers:
type: array
items:
$ref: '#/components/schemas/VehicleNumber'
minItems: 1
lineNumbers:
type: array
items:
$ref: '#/components/schemas/LineNumber'
serviceStatus:
$ref: '#/components/schemas/ServiceStatus'
situationFullRefs:
type: array
items:
$ref: '#/components/schemas/SituationFullRef'
carriers:
type: array
items:
$ref: '#/components/schemas/NamedCompany'
minItems: 1
attributes:
type: array
items:
$ref: '#/components/schemas/GeneralAttribute'
There was a problem hiding this comment.
serviceDepartureFormation should be added to provide platform information (in the reply)
There was a problem hiding this comment.
The list of trip sections for the offers is missing in the SearchOfferFilters
Summary
The request:

The Trip concepts:
