-
Notifications
You must be signed in to change notification settings - Fork 0
Search offers - the 'Delivery' part - 20260702 #68
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
Open
edwinvandenbelt
wants to merge
3
commits into
main
Choose a base branch
from
Search-offers-delivery
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,429
−0
Open
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
a9d8558
Add search offers deliverables: data model YAML files and QEA
edwinvandenbelt 669da99
Add search offers delivery schemas: Package, OfferElements, Fulfillme…
edwinvandenbelt bc1f3df
Refine search offers delivery schemas: descriptions, required fields …
edwinvandenbelt File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| allOf: | ||
| - $ref: .\PackageElement.yaml | ||
| - type: object | ||
| required: | ||
| - packageElementType | ||
| properties: | ||
| packageElementType: | ||
| description: The type of the package element, which can be used to determine the specific schema to use for validation. | ||
| type: string | ||
| const: afterSalesFee | ||
| price: | ||
| $ref: .\Cost.yaml | ||
| description: The fee associated with the after-sales service. This can include costs for cancellations, | ||
| exchanges, or other post-purchase services. | ||
| example: | ||
| { | ||
| "packageElementType": "afterSalesFee", | ||
| "price": { "amount": 10.00, "currency": "EUR" } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| allOf: | ||
| - $ref: .\PackageElement.yaml | ||
| - type: object | ||
| required: | ||
| - allocationType | ||
| - packageElementType | ||
| properties: | ||
| packageElementType: | ||
| description: The type of the package element, which can be used to determine the specific schema to use for validation. | ||
| type: string | ||
| const: allocation | ||
| allocationType: | ||
| type: string | ||
| description: The type of allocation provided. | ||
| x-enum : [spot, asset] | ||
| typeOfSpot: | ||
| type: string | ||
| description: The type of spot allocated. | ||
| x-enum : [seat, berth, other] | ||
| typeOfAsset: | ||
| type: string | ||
| description: The type of asset allocated. The allowed values are defined in 'asset-type' lookup. | ||
| description: | ||
| type: string | ||
| description: A description of the allocation. | ||
| reference: | ||
| oneOf: | ||
| - type: string | ||
| description: A spot reference identifier for the allocation. | ||
| format: spot-ref | ||
| - type: string | ||
| description: An asset reference identifier for the allocation. | ||
| format: asset-ref | ||
| numberOfAllocatedUnits: | ||
| type: integer | ||
| description: The number of allocated units for the allocation (spots or assets). | ||
| appliesTo: | ||
| type: array | ||
| description: A list of package elements to which this allocation applies | ||
| items: | ||
| type: string | ||
| format: package-element-ref | ||
| examples: | ||
| - { | ||
| "packageElementType": "allocation", | ||
| "allocationType": "spot", | ||
| "typeOfSpot": "seat", | ||
| "description": "Allocated seat for the trip.", | ||
| "reference": "SPOT-123", | ||
| "numberOfAllocatedUnits": 1, | ||
| "appliesTo": ["PE-123"] | ||
| } | ||
| - { | ||
| "packageElementType": "allocation", | ||
| "allocationType": "asset", | ||
| "typeOfAsset": "normal-bike", | ||
| "description": "Normal bike for the trip.", | ||
| "reference": "DEFAULT_BIKE", | ||
| "numberOfAllocatedUnits": 2, | ||
| "appliesTo": ["PE-456"] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| allOf: | ||
| - $ref: .\PlaceHolder.yaml | ||
| - type: object | ||
| properties: | ||
| placeHolderType: | ||
| type: string | ||
| const: allocation | ||
| selectableAllocations: | ||
| type: array | ||
| items: | ||
| type: string | ||
| format: allocation-ref | ||
| minimumToSelect: | ||
| type: integer | ||
| minimum: 0 | ||
| maximumToSelect: | ||
| type: integer | ||
| minimum: 0 | ||
| examples: | ||
| - { | ||
| "placeHolderType": "allocation", | ||
| "selectableAllocations": ["SEAT", "BERTH"], | ||
| "minimumToSelect": 1, | ||
| "maximumToSelect": 2 | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| allOf: | ||
| - $ref: .\PackageElement.yaml | ||
| - type: object | ||
| required: | ||
| - ancillaryType | ||
| - packageElementType | ||
| properties: | ||
| packageElementType: | ||
| description: The type of the package element, which can be used to determine the specific schema to use for validation. | ||
| type: string | ||
| const: ancillary | ||
| ancillaryType: | ||
| type: string | ||
| description: The type of ancillary service provided. The allowed values are defined in 'ancillary-type' lookup. | ||
| appliesTo: | ||
| type: array | ||
| description: A list of package elements to which this ancillary applies | ||
| items: | ||
| type: string | ||
| format: package-element-ref | ||
| examples: | ||
| - { | ||
| "packageElementType": "ancillary", | ||
| "ancillaryType": "meal", | ||
| "appliesTo": ["PE-123"] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| allOf: | ||
| - $ref: .\PlaceHolder.yaml | ||
| - type: object | ||
| properties: | ||
| placeHolderType: | ||
| type: string | ||
| const: ancillary | ||
| selectableAncillaries: | ||
| type: array | ||
| items: | ||
| type: string | ||
| format: ancillary-ref | ||
| minimumToSelect: | ||
| type: integer | ||
| minimum: 0 | ||
| maximumToSelect: | ||
| type: integer | ||
| minimum: 0 | ||
| examples: | ||
| - { | ||
| "placeHolderType": "ancillary", | ||
| "selectableAncillaries": ["MEAL", "LUXURY_MEAL"], | ||
| "minimumToSelect": 0, | ||
| "maximumToSelect": 2 | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| allOf: | ||
| - $ref: .\Leg.yaml | ||
| - type: object | ||
| properties: | ||
| legType: | ||
| type: string | ||
| description: discriminator for the leg type | ||
| const: continuous | ||
| continuousMode: | ||
| type: string | ||
| enum: [] | ||
| duration: | ||
| type: integer | ||
| description: Duration of the leg in minutes | ||
| individualMode: | ||
| type: string | ||
| enum: [] | ||
| startPlace: | ||
| type: string | ||
| format: place-ref | ||
| endPlace: | ||
| type: string | ||
| format: place-ref | ||
| examples: | ||
| - { | ||
| "legType": "continuous", | ||
| "duration": 120, | ||
| "startPlace": "PLACE-123", | ||
| "endPlace": "PLACE-456" | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| type: object | ||
| properties: | ||
| amount: | ||
| type: number | ||
| description: The monetary amount of the cost. | ||
| format: float | ||
| currency: | ||
| type: string | ||
| description: The currency of the cost, represented as a three-letter ISO 4217 code | ||
| taxes: | ||
| type: array | ||
| description: A list of taxes associated with the cost. | ||
| items: | ||
| $ref: .\Tax.yaml | ||
| examples: | ||
| - { | ||
| "amount": 100.00, | ||
| "currency": "EUR", | ||
| "taxes": [ | ||
| { "taxType": "VAT", "amount": 20.00, "currency": "EUR" }, | ||
| { "taxType": "Service Tax", "amount": 5.00, "currency": "EUR" } | ||
| ] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| type: object | ||
| properties: | ||
| request: | ||
| type: string | ||
| description: Identifier of the originating request | ||
| format: request-ref | ||
| warnings: | ||
| type: array | ||
| description: List of warnings related to the request | ||
| items: | ||
| $ref: .\Warning.yaml | ||
| errors: | ||
| type: array | ||
| description: List of errors related to the request | ||
| items: | ||
| $ref: .\Error.yaml |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| 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 | ||
| examples: | ||
| - { | ||
| "filterType": "distribution", | ||
| "channel": "web", | ||
| "fulfillmentMethod": "electronic", | ||
| "typeOfPayment": "prepaid", | ||
| "mediaType": "application/json", | ||
| "contentStandard": "ISO/IEC 18004" | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| type: object | ||
| required: | ||
| - entitlementType | ||
| - code | ||
| properties: | ||
| issuer: | ||
| type: string | ||
| description: The entity that issues the entitlement right. | ||
|
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. it should be possible to have a code here (optional), like RICS code |
||
| entitlementType: | ||
| type: string | ||
| description: The type of entitlement right (e.g., subscription, license, access). Valid values can be obtained using the `entitlementType` endpoint | ||
| code: | ||
| type: string | ||
| description: A unique code representing the entitlement right. | ||
| examples: | ||
| - { | ||
| "issuer": "Company XYZ", | ||
| "entitlementType": "voucher", | ||
| "code": "VOUCHER-2024-001" | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| type: object | ||
| externalDocs: | ||
| url: https://datatracker.ietf.org/doc/html/rfc7807 | ||
| additionalProperties: false | ||
| description: | | ||
| An error that the service may send, e.g. in case of invalid input, based on RFC 7807 | ||
| required: | ||
| - errorcode | ||
| - title | ||
| properties: | ||
| type: | ||
| type: string | ||
| format: uri | ||
| description: URI specifying the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML [W3C.REC-html5-20141028]). When this member is not present, its value is assumed to be "about:blank". | ||
| title: | ||
| type: string | ||
| description: A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except to match Content-Language | ||
| status: | ||
| type: integer | ||
| description: HTTP-statuscode, The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. | ||
| example: 501 | ||
| detail: | ||
| type: string | ||
| description: A human-readable explanation specific to this occurrence of the problem, matches Content-Language | ||
| instance: | ||
| type: string | ||
| format: uri | ||
| description: A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. | ||
| examples: | ||
| - { | ||
| "type": "https://example.com/probs/out-of-credit", | ||
| "title": "You do not have enough credit.", | ||
| "status": 403, | ||
| "detail": "Your current balance is 30, but that costs 50.", | ||
| "instance": "/account/12345/msgs/abc" | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| allOf: | ||
| - $ref: .\SearchOfferFilter.yaml | ||
| - type: object | ||
| required: | ||
| - filterType | ||
| - afterSalesCondition | ||
| properties: | ||
| filterType: | ||
| type: string | ||
| const: flexibility | ||
| afterSalesCondition: | ||
| type: string | ||
| enum: | ||
| - cancellable | ||
| - exchangeable | ||
| - refundable | ||
| examples: | ||
| - { | ||
| "filterType": "flexibility", | ||
| "afterSalesCondition": "cancellable" | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 took the liberty to add 'PlaceHolder' concept, where retailers have the complete list of things they have to complete before they can purchase the package. E.g. personal aspects or choices of allocations/ancillaries.