Team 2 - Homework: review Transportable & Traveller object #55
Closed
edwinvandenbelt
started this conversation in
General
Replies: 3 comments 3 replies
-
|
First thing to address is to make it clear when it is an enum, an x-enum (which requires bilateral agreements) and when it can be a lookup (another resourse endpoint GET /{resource} or GET /collections/{resource}/items). |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Please add your remarks! Transportable:
type: object
description: >-
A person, animal, vehicle, or luggage item that can be transported.
required:
- transportableId
properties:
transportableId:
type: string
description: Unique identifier for the transportable entity.
discriminator:
propertyName: transportableType
mapping:
anonymousTraveller: '#/components/schemas/AnonymousTraveller'
pet: '#/components/schemas/Pet'
vehicle: '#/components/schemas/Vehicle'
luggage: '#/components/schemas/Luggage'
oneOf:
- $ref: '#/components/schemas/AnonymousTraveller'
- $ref: '#/components/schemas/Pet'
- $ref: '#/components/schemas/Vehicle'
- $ref: '#/components/schemas/Luggage'
x-semantics:
transmodel: TRAVELLING ENTITY
osdm: Transportable
tomp: Traveller
bob: unmapped
omsa: unmapped
ferrygateway: unmapped |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Next one: the Anonymous traveller (extended with attributes & their mappings) AnonymousTraveller:
type: object
description: >-
A traveller whose identity is not required for offer search.
Subtype of Transportable.
x-semantics:
transmodel: TRANSPORT CUSTOMER
osdm: AnonymousPassengerSpecification
tomp: traveller
bob: travellersPerCategory
omsa: individualTraveller
ferrygateway: PassengerType / PassengerQuoteType
allOf:
- $ref: '#/components/schemas/Transportable'
properties:
age:
type: integer
minimum: 0
description: Actual age of the traveller at time of travel.
x-semantics:
transmodel: unmapped
osdm: AnonymousPassengerSpecification.age
tomp: travellerCharacteristics.age
bob: condition.age
omsa: individualTraveller.age
ferrygateway: Passenger.@Age
dateOfBirth:
type: string
format: date
description: Date of birth of the traveller. Prefer over age when available.
x-format: ISO-6801[Date]
x-semantics:
transmodel: TRANSPORT CUSTOMER.dateOfBirth
osdm: AnonymousPassengerSpecification.dateOfBirth
tomp: customer.dateOfBirth
bob: travellerInformation.travellerDOB
omsa: unmapped
ferrygateway: Passenger.@DateOfBirth
gender:
type: string
description: Gender of the traveller, relevant for fare eligibility.
x-todo: (x-)enum or lookup?
x-semantics:
transmodel: TRANSPORT CUSTOMER.gender
osdm: AnonymousPassengerSpecification.gender
tomp: unmapped
bob: unmapped
omsa: individualTraveller.gender
ferrygateway: PassengerBookType.@Gender
licenseTypes:
type: array
items:
type: string
description: Type of travel or driver license held by the traveller.
x-todo: lookup for accepted licenseTypes?
x-semantics:
transmodel: TYPE OF DRIVER PERMIT
osdm: unmapped
tomp: travellerCharacteristics.licenseTypes
bob: unmapped
omsa: unmapped
ferrygateway: unmapped
nationality:
type: string
description: Nationality of the traveller
x-format: ISO 3166-1 alpha-2.
x-semantics:
transmodel: TRANSPORT CUSTOMER.nationality
osdm: unmapped
tomp: unmapped
bob: unmapped
omsa: unmapped
ferrygateway: PassengerBookType.@PassengerNationality
prmNeeds:
type: array
items:
type: string
description: >-
Accessibility and mobility needs of the traveller.
Maps to PASSENGER ACCESSIBILITY NEED (EN 12896) (todo: check, I cannot find in here definitions).
x-todo: enum, x-enum or lookup?
x-semantics:
transmodel: PASSENGER ACCESSIBILITY NEED
osdm: AnonymousPassengerSpecification.prmNeeds[]
tomp: travellerRequirements.prmNeeds
bob: unmapped
omsa: requirements.equipment[]
ferrygateway: PassengerBookType.@SpecialRequirements
residency:
type: string
description: Residency of the traveller, used for fare eligibility.
x-todo: what is allowed here, country, city, .... It tends to need a lookup (GET /residency | GET /collections/residency/items)
x-semantics:
transmodel: CUSTOMER ELIGIBILITY.country
osdm: AnonymousPassengerSpecification.residency
tomp: unmapped
bob: unmapped
omsa: userProfile.localResident
ferrygateway: unmapped
companion:
type: boolean
x-todo: is this a boolean or an enum?
description: Indicates whether the traveller is travelling as a companion.
x-semantics:
transmodel: unmapped
osdm: unmapped
tomp: unmapped
bob: unmapped
omsa: unmapped
ferrygateway: unmapped |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
-
As discussed yesterday, this is the first draft of the part of 'who wants to travel':

The next discussion will address the 'where', and a third one (not yet discussed yesterday, but we can start it in the discussions) will be the 'how' (what are the conditions?)
Beta Was this translation helpful? Give feedback.
All reactions