Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions deliverables/1 search offers/AfterSalesFee.yaml
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" }
}
61 changes: 61 additions & 0 deletions deliverables/1 search offers/Allocation.yaml
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"]
}
25 changes: 25 additions & 0 deletions deliverables/1 search offers/AllocationPlaceHolder.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
allOf:

Copy link
Copy Markdown
Collaborator Author

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.

- $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
}
26 changes: 26 additions & 0 deletions deliverables/1 search offers/Ancillary.yaml
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"]
}
25 changes: 25 additions & 0 deletions deliverables/1 search offers/AncillaryPlaceHolder.yaml
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
}
30 changes: 30 additions & 0 deletions deliverables/1 search offers/ContinuousLeg.yaml
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"
}
23 changes: 23 additions & 0 deletions deliverables/1 search offers/Cost.yaml
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" }
]
}
16 changes: 16 additions & 0 deletions deliverables/1 search offers/Delivery.yaml
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
72 changes: 72 additions & 0 deletions deliverables/1 search offers/DistributionFilter.yaml
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"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The 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"
}
20 changes: 20 additions & 0 deletions deliverables/1 search offers/EntitlementRight.yaml
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.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The 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"
}
36 changes: 36 additions & 0 deletions deliverables/1 search offers/Error.yaml
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"
}
21 changes: 21 additions & 0 deletions deliverables/1 search offers/FlexibilityFilter.yaml
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"
}
Loading