-
Notifications
You must be signed in to change notification settings - Fork 0
Search offers - the 'What' part - Trip based - 20260702 #67
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
base: main
Are you sure you want to change the base?
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 |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| allOf: | ||
| - $ref: .\Leg.yaml | ||
| - type: object | ||
| properties: | ||
| legType: | ||
| type: string | ||
| description: discriminator for the leg type | ||
| const: continuous | ||
| continuousMode: | ||
|
Collaborator
Author
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 don't know this one.
Collaborator
Author
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. remove |
||
| type: string | ||
| enum: [] | ||
| duration: | ||
| type: integer | ||
| description: Duration of the leg in minutes | ||
| individualMode: | ||
|
Collaborator
Author
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. @Ulf9 What is this? I don't see it in TM.
Contributor
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. It should be
Collaborator
Author
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. remove |
||
| type: string | ||
| enum: [] | ||
| start: | ||
|
Collaborator
Author
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. startPlace?
Collaborator
Author
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. keep consistent with TimedLeg |
||
| type: string | ||
| format: place-ref | ||
| end: | ||
|
Collaborator
Author
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. and endPlace? |
||
| type: string | ||
| format: place-ref | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| allOf: | ||
| - $ref: .\SearchOfferFilter.yaml | ||
| - type: object | ||
| required: | ||
| - filterType | ||
| - mediaType | ||
| properties: | ||
| filterType: | ||
| type: string | ||
| const: distribution | ||
| channel: | ||
| type: string | ||
| description: The channel of the offer. | ||
| x-enum-values: | ||
| - "web" | ||
| - "mobile" | ||
|
Collaborator
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. app ? |
||
| - "kiosk" | ||
| - "call center" | ||
| - "travel agency" | ||
| - "other" | ||
| fulfillmentMethod: | ||
| type: string | ||
| description: The fulfillment method of the offer. | ||
| x-enum-values: | ||
| - "electronic" | ||
| - "paper" | ||
| - "mobile" | ||
| - "other" | ||
| typeOfPayment: | ||
| type: string | ||
| description: The type of payment of the offer. | ||
| x-enum-values: | ||
| - "prepaid" | ||
| - "postpaid" | ||
| - "other" | ||
| mediaType: | ||
| type: string | ||
| description: |- | ||
| The media type of the offer. IANA media type registry: https://www.iana.org/assignments/media-types/media-types.xhtml | ||
| examples: | ||
| - "application/json" | ||
| - "application/xml" | ||
| - "text/html" | ||
| - "application/pdf" | ||
| - "image/jpeg" | ||
| - "image/svg+xml" | ||
| contentStandard: | ||
| type: string | ||
| description: The content standard of the offer. | ||
| x-enum-values: | ||
| - "ISO/IEC 18004" # QR Code | ||
| - "ISO/IEC 24778" # Aztec Code | ||
| - "ISO/IEC 15438" # PDF417 | ||
| - "ISO/IEC 16022" # Data Matrix | ||
| - "ISO/IEC 15417" # Code 128 | ||
| - "ISO/IEC 16388" # Code 39 | ||
| - "ISO/IEC 15420" # EAN-13 | ||
| - "ISO/IEC 15417" # UPC-A | ||
| - "ISO/IEC 15424" # MaxiCode | ||
| - "ISO/IEC 7816-4" # NFC, MIFARE DESFire | ||
| - "GATT" # Bluetooth Low Energy | ||
| - "AXA Bike lock" # AXA Bike lock | ||
| - "OTHER" # Other content standard | ||
|
Collaborator
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. is calypso card somewhere in that list ?
Collaborator
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. 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. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| allOf: | ||
| - $ref: .\SearchOfferFilter.yaml | ||
| - type: object | ||
| required: | ||
| - filterType | ||
| - afterSalesLevel | ||
| properties: | ||
| filterType: | ||
| type: string | ||
| const: flexibility | ||
| afterSalesLevel: | ||
| type: string | ||
| enum: | ||
| - "cancellable" | ||
| - "exchangeable" | ||
| - "refundable" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| type: object | ||
| required: | ||
| - legId | ||
| - mode | ||
| - legType | ||
| properties: | ||
| legId: | ||
| type: string | ||
| description: Unique identifier for the leg | ||
| format: leg-ref | ||
| legType: | ||
| type: string | ||
| description: discriminator for the leg type | ||
| enum: [timed, continuous, transfer] | ||
| mode: | ||
| type: string | ||
| description: Mode of transportation for the leg (e.g., bus, train, walking). See modes as specified in NeTEx. | ||
| enum: [] | ||
|
Collaborator
Author
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. should be a ref to Mode.yaml
Contributor
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. Yes, it would be clearer. |
||
| 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. | ||
|
Contributor
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. Further discussion / modelling is needed on the concept of |
||
| default: 1 | ||
| minimum: 1 | ||
| tripPattern: | ||
| type: string | ||
| format: trip-pattern-ref | ||
| description: Reference to the trip pattern that this leg is part of, if applicable. There is no tripPattern object in the data model, | ||
| so legs with the same tripPattern reference are considered to be part of the same trip pattern. | ||
| examples: | ||
| - "inbound-1234" | ||
| - "outbound-5678" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| type: object | ||
| required: | ||
| - setDownLocation | ||
| - arrivalTime | ||
| properties: | ||
| setDownLocation: | ||
| type: string | ||
| format: place-ref | ||
| description: Reference to the drop-off location for the leg | ||
| arrivalTime: | ||
| type: string | ||
| format: date-time | ||
| description: The arrival time at the drop-off location. Local time zone should be used. | ||
| stopPointName: | ||
| type: string | ||
| description: Name of the stop point where the leg ends | ||
| stopPointRef: | ||
| type: string | ||
| format: stop-point-ref | ||
| description: Reference to the stop point where the leg ends |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| type: object | ||
| required: | ||
| - pickupLocation | ||
| - departureTime | ||
| properties: | ||
| pickupLocation: | ||
| type: string | ||
| format: place-ref | ||
| description: Reference to the pickup location for the leg | ||
| departureTime: | ||
| type: string | ||
| format: date-time | ||
| description: The departure time from the pickup location. Local time zone should be used. | ||
| stopPointName: | ||
| type: string | ||
| description: Name of the stop point where the leg starts | ||
| stopPointRef: | ||
| type: string | ||
| format: stop-point-ref | ||
| description: Reference to the stop point where the leg starts | ||
| trainNumbers: | ||
| type: array | ||
| items: | ||
| type: string | ||
| format: train-number | ||
| description: List of train numbers associated with this leg, if applicable |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| type: object | ||
| required: | ||
| - arrivalTime | ||
| - departureTime | ||
| properties: | ||
| arrivalTime: | ||
| type: string | ||
| format: date-time | ||
| description: The arrival time at the drop-off location. Local time zone should be used. | ||
| departureTime: | ||
| type: string | ||
| format: date-time | ||
| description: The departure time from the stop point. Local time zone should be used. | ||
| stopPointName: | ||
| type: string | ||
| description: Name of the stop point | ||
| stopPointRef: | ||
| type: string | ||
| format: stop-point-ref | ||
| description: Reference to the stop point |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| 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, | ||
| BUS, | ||
| TROLLEYBUS, | ||
| TRAM, | ||
| COACH, | ||
| RAIL, | ||
| INTERCITYRAIL, | ||
| URBANRAIL, | ||
| METRO, | ||
| WATER, | ||
| CABLEWAY, | ||
| FUNICULAR, | ||
| TAXI, | ||
| SELFDRIVE, | ||
| FOOT, | ||
| BICYCLE, | ||
| MOTORCYCLE, | ||
| CAR, | ||
| SHUTTLE, | ||
| OTHER, | ||
| PARKING, | ||
| MOPED, | ||
| STEP, | ||
| FERRY ] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| type: object | ||
| properties: | ||
| exclude: | ||
| type: boolean | ||
| description: If true, the filter will exclude the specified item instead of including them |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| type: object | ||
| properties: | ||
| currency: | ||
| type: string | ||
| description: The currency code for the search offer request (e.g., USD, EUR) | ||
| format: ISO4217 | ||
| maxResults: | ||
| type: integer | ||
| description: Maximum number of results to return for the search offer request | ||
| default: 10 | ||
| minimum: 1 | ||
| allowPartialResults: | ||
| type: boolean | ||
| description: Whether to allow partial results if the full request cannot be fulfilled | ||
| default: false |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| type: object | ||
| properties: | ||
| searchOfferId: | ||
|
Collaborator
Author
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. should be 'allOf' + request.yaml. The searchOfferId = requestId |
||
| type: string | ||
| description: Unique identifier for the search offer request | ||
| format: search-offer-ref | ||
| trip: | ||
| $ref: .\Trip.yaml | ||
| requestedSections: | ||
| type: array | ||
| items: | ||
| $ref: .\TripSection.yaml | ||
| policy: | ||
| $ref: .\SearchOfferPolicy.yaml | ||
| filters: | ||
| type: array | ||
| items: | ||
| oneOf: | ||
| - $ref: .\ServiceFilter.yaml | ||
| - $ref: .\DistributionFilter.yaml | ||
| # - $ref: .\PriceFilter.yaml | ||
| # - $ref: .\AreaFilter.yaml | ||
| # - $ref: .\TimeFilter.yaml | ||
| # - $ref: .\AccessibilityFilter.yaml | ||
| # - $ref: .\OperatorFilter.yaml | ||
| - $ref: .\FlexibilityFilter.yaml | ||
| discriminator: | ||
| propertyName: filterType | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| allOf: | ||
| - $ref: .\SearchOfferFilter.yaml | ||
| - type: object | ||
| required: | ||
| - filterType | ||
| properties: | ||
| filterType: | ||
| type: string | ||
| const: mode | ||
| mode: | ||
| $ref: .\Mode.yaml | ||
| class: | ||
| type: string | ||
| x-enum-values: | ||
| - economy | ||
| - business | ||
| - first |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| allOf: | ||
| - $ref: .\Leg.yaml | ||
| - type: object | ||
| properties: | ||
| legType: | ||
| type: string | ||
| description: discriminator for the leg type | ||
| const: timed | ||
| journeyRef: | ||
| type: string | ||
| description: Reference to the journey associated with this leg | ||
| format: journey-ref | ||
| lineRef: | ||
| type: string | ||
| description: Reference to the line associated with this leg | ||
| format: line-ref | ||
| operatingDayRef: | ||
| type: string | ||
| description: Reference to the operating day associated with this leg | ||
| format: day-of-week | ||
| enum: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday] | ||
| privateMode: | ||
|
Collaborator
Author
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. Again, what does this mean?
Contributor
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. To make consistent with Transmodel: PersonalModesOfOperationEnumeration
Contributor
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. Though it might not be needed in the TimedLeg
Collaborator
Author
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. Remove |
||
| type: string | ||
| enum: [] | ||
| ptMode: | ||
|
Collaborator
Author
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 isn't 'mode' on the Leg level (as specified) enough?
Collaborator
Author
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. remove |
||
| type: string | ||
| enum: [] | ||
| start: | ||
| $ref: .\LegBoard.yaml | ||
| end: | ||
| $ref: .\LegAlight.yaml | ||
| intermediateStops: | ||
| type: array | ||
| description: List of intermediate stops for this leg | ||
| items: | ||
| $ref: .\LegIntermediate.yaml | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| allOf: | ||
| - $ref: .\Leg.yaml | ||
| - type: object | ||
| properties: | ||
| legType: | ||
| type: string | ||
| description: discriminator for the leg type | ||
| const: transfer | ||
| continuousMode: | ||
|
Collaborator
Author
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. And again, I don't know what should be in here. There is already 'mode' at leg level, what does this mode mean?
Collaborator
Author
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. remove |
||
| type: string | ||
| enum: [] | ||
| duration: | ||
| type: integer | ||
| description: Duration of the leg in minutes | ||
| transferMode: | ||
|
Collaborator
Author
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. And again, I don't know what should be in here. There is already 'mode' at leg level, what does this mode mean?
Collaborator
Author
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. remove |
||
| type: string | ||
| enum: [] | ||
| start: | ||
|
Collaborator
Author
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. startPlace? |
||
| type: string | ||
| format: place-ref | ||
| end: | ||
|
Collaborator
Author
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. endPlace? |
||
| type: string | ||
| format: place-ref | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| type: object | ||
| required: | ||
| - legs | ||
| - tripId | ||
| properties: | ||
| tripId: | ||
| type: string | ||
| description: Unique identifier for the trip | ||
| format: trip-ref | ||
| legs: | ||
| type: array | ||
| items: | ||
| oneOf: | ||
| - $ref: .\TimedLeg.yaml | ||
| - $ref: .\ContinuousLeg.yaml | ||
| - $ref: .\TransferLeg.yaml | ||
| discriminator: | ||
| propertyName: legType |
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.
to add: