shapes
type: ShapeGeneration
shape reference chain limit: 5
omitted shape reference count: 4
omitted shape reference:
  reference from: BrandedFaresUpsellRequestShape
  reference to: dataShape
  omitted because: over-long
omitted shape reference:
  reference from: FlightChoiceRequestShape
  reference to: dataShape
  omitted because: over-long
omitted shape reference:
  reference from: FlightOffersPriceRequestShape
  reference to: dataShape
  omitted because: over-long
omitted shape reference:
  reference from: FlightOrderCreateRequestShape
  reference to: dataShape
  omitted because: over-long

AccessTokenRequestShape
type: NodeShape
target class: AccessTokenRequest
property:
  path: grantType
  name: grant type
  description: Must be 'client_credentials'
  datatype: string
  min count: 1
  max count: 1
  has value: client_credentials
property:
  path: clientId
  name: client id
  description: Your API Key (client ID)
  datatype: string
  min count: 1
  max count: 1
property:
  path: clientSecret
  name: client secret
  description: Your API Secret (client secret)
  datatype: string
  min count: 1
  max count: 1

AccessTokenResponseShape
type: NodeShape
target class: AccessTokenResponse
property:
  path: type
  name: type
  description: Resource type (amadeusOAuth2Token)
  datatype: string
  min count: 1
  max count: 1
  has value: amadeusOAuth2Token
property:
  path: username
  name: username
  description: Your username (email address)
  datatype: string
  min count: 1
  max count: 1
property:
  path: applicationName
  name: application name
  description: Application name associated with the credentials
  datatype: string
  min count: 1
  max count: 1
property:
  path: clientId
  name: client id
  description: Client ID used for authentication
  datatype: string
  min count: 1
  max count: 1
property:
  path: tokenType
  name: token type
  description: Token type (always 'Bearer')
  datatype: string
  min count: 1
  max count: 1
  has value: Bearer
property:
  path: accessToken
  name: access token
  description: The access token to use for API requests
  datatype: string
  min count: 1
  max count: 1
property:
  path: expiresIn
  name: expires in
  description: Token expiration time in seconds
  datatype: int
  min count: 1
  max count: 1
property:
  path: state
  name: state
  description: Token state
  datatype: string
  min count: 1
  max count: 1
  has value: approved
property:
  path: scope
  name: scope
  description: Granted scopes (typically empty for self-service)
  datatype: string
  min count: 1
  max count: 1

AmadeusErrorShape
type: NodeShape
target class: AmadeusError
property:
  path: errors
  name: errors
  description: List of errors
  node: ErrorDetailShape
  class: ErrorDetail
  node kind: BlankNodeOrIRI

ErrorDetailShape
type: NodeShape
target class: ErrorDetail
property:
  path: status
  name: status
  description: HTTP status code
  datatype: long
  max count: 1
property:
  path: code
  name: code
  description: Error code (e.g., 477, 4926)
  datatype: long
  min count: 1
  max count: 1
property:
  path: title
  name: title
  description: Error title (e.g., 'INVALID FORMAT')
  datatype: string
  min count: 1
  max count: 1
property:
  path: detail
  name: detail
  description: Detailed error description
  datatype: string
  max count: 1
property:
  path: source
  name: source
  description: Source of the error
  node: ErrorSourceShape
  class: ErrorSource
  node kind: BlankNodeOrIRI
  max count: 1

ErrorSourceShape
type: NodeShape
target class: ErrorSource
property:
  path: pointer
  name: pointer
  description: Pointer to the parameter that caused the error
  datatype: string
  max count: 1
property:
  path: parameter
  name: parameter
  description: Name of the parameter that caused the error
  datatype: string
  max count: 1
property:
  path: example
  name: example
  description: Example of a valid value
  datatype: string
  max count: 1

NotFoundErrorShape
type: NodeShape
target class: NotFoundError
property:
  path: statusCode
  name: status code
  datatype: integer
  min count: 1
  max count: 1
  has value: 404
property:
  path: errors
  name: errors
  description: List of errors
  node: ErrorDetailShape
  class: ErrorDetail
  node kind: BlankNodeOrIRI

IssueShape
type: NodeShape
target class: Issue
property:
  path: status
  name: status
  description: HTTP status code
  datatype: long
  max count: 1
property:
  path: code
  name: code
  description: Error code (e.g., 477, 4926)
  datatype: long
  min count: 1
  max count: 1
property:
  path: title
  name: title
  description: Error title (e.g., 'INVALID FORMAT')
  datatype: string
  min count: 1
  max count: 1
property:
  path: detail
  name: detail
  description: Detailed error description
  datatype: string
  max count: 1
property:
  path: source
  name: source
  description: Source of the error
  node: ErrorSourceShape
  class: ErrorSource
  node kind: BlankNodeOrIRI
  max count: 1

response errorShape
type: NodeShape
target class: response error
property:
  path: errors
  name: errors
  description: List of errors
  node: IssueShape
  class: Issue
  node kind: BlankNodeOrIRI

WarningShape
type: NodeShape
target class: Warning
property:
  path: code
  name: code
  description: Warning code
  datatype: long
  max count: 1
property:
  path: title
  name: title
  description: Warning title
  datatype: string
  max count: 1
property:
  path: detail
  name: detail
  description: Detailed warning message
  datatype: string
  max count: 1
property:
  path: source
  name: source
  description: Source of the warning
  node: ErrorSourceShape
  class: ErrorSource
  node kind: BlankNodeOrIRI
  max count: 1

Error400Shape
type: NodeShape
target class: Error400
property:
  path: errors
  name: errors
  description: List of errors
  node: IssueShape
  class: Issue
  node kind: BlankNodeOrIRI

Error401Shape
type: NodeShape
target class: Error401
property:
  path: errors
  name: errors
  description: List of errors
  node: IssueShape
  class: Issue
  node kind: BlankNodeOrIRI

Error404Shape
type: NodeShape
target class: Error404
property:
  path: errors
  name: errors
  description: List of errors
  node: IssueShape
  class: Issue
  node kind: BlankNodeOrIRI

Error500Shape
type: NodeShape
target class: Error500
property:
  path: errors
  name: errors
  description: List of errors
  node: IssueShape
  class: Issue
  node kind: BlankNodeOrIRI

ErrorShape
type: NodeShape
target class: Error
property:
  path: status
  name: status
  description: HTTP status code
  datatype: long
  max count: 1
property:
  path: code
  name: code
  description: Error code (e.g., 477, 4926)
  datatype: long
  min count: 1
  max count: 1
property:
  path: title
  name: title
  description: Error title (e.g., 'INVALID FORMAT')
  datatype: string
  min count: 1
  max count: 1
property:
  path: detail
  name: detail
  description: Detailed error description
  datatype: string
  max count: 1
property:
  path: source
  name: source
  description: Source of the error
  node: ErrorSourceShape
  class: ErrorSource
  node kind: BlankNodeOrIRI
  max count: 1

CollectionLinksShape
type: NodeShape
target class: CollectionLinks
property:
  path: self
  name: self
  description: Link to this page
  datatype: string
  max count: 1
property:
  path: next
  name: next
  description: Link to next page
  datatype: string
  max count: 1
property:
  path: previous
  name: previous
  description: Link to previous page
  datatype: string
  max count: 1
property:
  path: last
  name: last
  description: Link to last page
  datatype: string
  max count: 1
property:
  path: first
  name: first
  description: Link to first page
  datatype: string
  max count: 1
property:
  path: up
  name: up
  description: Link to parent resource
  datatype: string
  max count: 1

CollectionMetaShape
type: NodeShape
target class: CollectionMeta
property:
  path: count
  name: count
  description: Total count of results
  datatype: int
  max count: 1
property:
  path: links
  name: links
  description: Links to related resources
  node: CollectionLinksShape
  class: CollectionLinks
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: oneWayCombinations
  name: one way combinations
  description: One-way combination suggestions for multi-city searches
  node: OneWayCombinationShape
  class: OneWayCombination
  node kind: BlankNodeOrIRI

OneWayCombinationShape
type: NodeShape
target class: OneWayCombination
property:
  path: originDestinationId
  name: origin destination id
  description: Origin-destination ID
  datatype: string
  max count: 1
property:
  path: flightOfferIds
  name: flight offer ids
  description: List of flight offer IDs that can be combined
  datatype: string

ResourceMetaShape
type: NodeShape
target class: ResourceMeta
property:
  path: links
  name: links
  description: Links to related resources
  node: CollectionLinksShape
  class: CollectionLinks
  node kind: BlankNodeOrIRI
  max count: 1

DictionariesShape
type: NodeShape
target class: Dictionaries
property:
  path: carriers
  name: carriers
  description: Airline/carrier code to name mapping
  node: ContainerShape
  class: Container
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: aircraft
  name: aircraft
  description: Aircraft code to name mapping
  node: ContainerShape
  class: Container
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: currencies
  name: currencies
  description: Currency code to name mapping
  node: ContainerShape
  class: Container
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: locations
  name: locations
  description: Location code to details mapping
  node: ContainerShape
  class: Container
  node kind: BlankNodeOrIRI
  max count: 1

LocationDictionaryEntryShape
type: NodeShape
target class: LocationDictionaryEntry
property:
  path: cityCode
  name: city code
  description: City IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: countryCode
  name: country code
  description: Country code
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$

GeoCodeShape
type: NodeShape
target class: GeoCode
property:
  path: latitude
  name: latitude
  description: Latitude in decimal degrees
  datatype: double
  min count: 1
  max count: 1
  min inclusive: -90
  max inclusive: 90
property:
  path: longitude
  name: longitude
  description: Longitude in decimal degrees
  datatype: double
  min count: 1
  max count: 1
  min inclusive: -180
  max inclusive: 180

AddressShape
type: NodeShape
target class: Address
property:
  path: lines
  name: lines
  description: Street address lines
  datatype: string
property:
  path: postalCode
  name: postal code
  description: Postal/ZIP code
  datatype: string
  max count: 1
property:
  path: cityName
  name: city name
  description: City name
  datatype: string
  max count: 1
property:
  path: cityCode
  name: city code
  description: City IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: countryName
  name: country name
  description: Country name
  datatype: string
  max count: 1
property:
  path: countryCode
  name: country code
  description: Country code (ISO 3166-1 alpha-2)
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: stateCode
  name: state code
  description: State or province code
  datatype: string
  max count: 1
property:
  path: regionCode
  name: region code
  description: Region code
  datatype: string
  max count: 1

LocationShape
type: NodeShape
target class: Location
property:
  path: type
  name: type
  description: Location type
  datatype: string
  max count: 1
property:
  path: subType
  name: sub type
  description: Location subtype
  datatype: string
  max count: 1
  in: AIRPORT
  in: CITY
  in: POINT_OF_INTEREST
  in: DISTRICT
property:
  path: name
  name: name
  description: Location name
  datatype: string
  max count: 1
property:
  path: detailedName
  name: detailed name
  description: Detailed name
  datatype: string
  max count: 1
property:
  path: id
  name: id
  description: Location ID (IATA code)
  datatype: string
  max count: 1
property:
  path: self
  name: self
  description: Self-referential link
  node: selfShape
  class: self
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: timeZoneOffset
  name: time zone offset
  description: Time zone offset from UTC
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: geoCode
  name: geo code
  description: Geographic coordinates
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: address
  name: address
  description: Physical address
  node: AddressShape
  class: Address
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: distance
  name: distance
  description: Distance from reference point
  node: DistanceShape
  class: Distance
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: analytics
  name: analytics
  description: Analytics data
  node: LocationAnalyticsShape
  class: LocationAnalytics
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: relevance
  name: relevance
  description: Relevance score (0-10 range based on distance and analytics)
  datatype: double
  max count: 1
property:
  path: category
  name: category
  description: Location category
  datatype: string
  max count: 1
  in: SIGHTS
  in: BEACH_PARK
  in: HISTORICAL
  in: NIGHTLIFE
  in: RESTAURANT
  in: SHOPPING
property:
  path: tags
  name: tags
  description: Related topic tags
  datatype: string
property:
  path: rank
  name: rank
  description: Fame-based position ranking (1 = highest)
  datatype: string
  max count: 1

DistanceShape
type: NodeShape
target class: Distance
property:
  path: value
  name: value
  description: Great-circle distance value
  datatype: int
  max count: 1
property:
  path: unit
  name: unit
  description: Unit of measurement (KM or MI)
  datatype: string
  max count: 1
  in: KM
  in: MI

LocationAnalyticsShape
type: NodeShape
target class: LocationAnalytics
property:
  path: travelers
  name: travelers
  description: Travelers data
  node: TravelersShape
  class: Travelers
  node kind: BlankNodeOrIRI
  max count: 1

TravelersShape
type: NodeShape
target class: Travelers
property:
  path: score
  name: score
  description: Traveler score (approximate ranking based on number of travelers)
  datatype: int
  max count: 1

FlexibleLocationShape
type: NodeShape
target class: FlexibleLocation
property:
  path: locationCode
  name: location code
  description: Location IATA code (airport or city)
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: locationType
  name: location type
  description: Location type
  datatype: string
  max count: 1
  in: AIRPORT
  in: CITY
  in: POINT_OF_INTEREST
  in: DISTRICT
property:
  path: geoCode
  name: geo code
  description: Geographic coordinates for radius search
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: radius
  name: radius
  description: Radius for geographic search in kilometers
  datatype: int
  max count: 1

AirlineShape
type: NodeShape
target class: Airline
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: airline
property:
  path: iataCode
  name: iata code
  description: IATA airline code
  datatype: string
  max count: 1
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$
property:
  path: icaoCode
  name: icao code
  description: ICAO airline code
  datatype: string
  max count: 1
property:
  path: businessName
  name: business name
  description: Business name of the airline
  datatype: string
  max count: 1
property:
  path: commonName
  name: common name
  description: Common name of the airline
  datatype: string
  max count: 1

AirlineDestinationShape
type: NodeShape
target class: AirlineDestination
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: airline-destination
property:
  path: origin
  name: origin
  description: Departure airport IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: destination
  name: destination
  description: Destination airport IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: name
  name: name
  description: Name of the destination
  datatype: string
  max count: 1

AirlineRouteShape
type: NodeShape
target class: AirlineRoute
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: airline-route
property:
  path: origin
  name: origin
  description: Origin airport IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: destination
  name: destination
  description: Destination airport IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$

AirportShape
type: NodeShape
target class: Airport
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: location
property:
  path: subType
  name: sub type
  description: Location subtype (AIRPORT or CITY)
  datatype: string
  max count: 1
  in: AIRPORT
  in: CITY
  in: POINT_OF_INTEREST
  in: DISTRICT
property:
  path: name
  name: name
  description: Location name
  datatype: string
  max count: 1
property:
  path: detailedName
  name: detailed name
  description: Detailed name including city
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: geoCode
  name: geo code
  description: Geographic coordinates
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: address
  name: address
  description: Physical address
  node: AddressShape
  class: Address
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: timeZoneOffset
  name: time zone offset
  description: Time zone offset
  datatype: string
  max count: 1
property:
  path: analytics
  name: analytics
  description: Traveler analytics data
  node: AirportAnalyticsShape
  class: AirportAnalytics
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: relevance
  name: relevance
  description: Relevance score for search results
  datatype: double
  max count: 1

AirportAnalyticsShape
type: NodeShape
target class: AirportAnalytics
property:
  path: travelers
  name: travelers
  description: Number of travelers
  node: travelersShape
  class: travelers
  node kind: BlankNodeOrIRI
  max count: 1

OnTimePerformanceDataShape
type: NodeShape
target class: OnTimePerformanceData
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: on-time-performance
property:
  path: id
  name: id
  description: Resource identifier
  datatype: string
  max count: 1
property:
  path: onTime
  name: on time
  description: On-time performance percentage
  datatype: string
  max count: 1

AirportRouteShape
type: NodeShape
target class: AirportRoute
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: airport-route
property:
  path: destination
  name: destination
  description: Destination airport or city
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: subType
  name: sub type
  description: Subtype (AIRPORT or CITY)
  datatype: string
  max count: 1
  in: AIRPORT
  in: CITY
  in: POINT_OF_INTEREST
  in: DISTRICT

DirectDestinationShape
type: NodeShape
target class: DirectDestination
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: location
property:
  path: subType
  name: sub type
  description: Location subtype
  datatype: string
  max count: 1
  in: AIRPORT
  in: CITY
  in: POINT_OF_INTEREST
  in: DISTRICT
property:
  path: name
  name: name
  description: Destination name
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: geoCode
  name: geo code
  description: Geographic coordinates
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: address
  name: address
  description: Address information
  node: AddressShape
  class: Address
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: timeZoneOffset
  name: time zone offset
  description: Time zone offset
  datatype: string
  max count: 1

FlightOfferShape
type: NodeShape
target class: FlightOffer
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  min count: 1
  max count: 1
  has value: flight-offer
property:
  path: id
  name: id
  description: Unique identifier for this offer
  datatype: string
  min count: 1
  max count: 1
property:
  path: source
  name: source
  description: Offer source (GDS)
  datatype: string
  max count: 1
  in: GDS
property:
  path: instantTicketingRequired
  name: instant ticketing required
  description: Whether instant ticketing is required
  datatype: boolean
  max count: 1
property:
  path: disablePricing
  name: disable pricing
  description: Whether pricing is disabled for this offer
  datatype: boolean
  max count: 1
property:
  path: nonHomogeneous
  name: non homogeneous
  description: Whether it's a non-homogeneous offer
  datatype: boolean
  max count: 1
property:
  path: oneWay
  name: one way
  description: Whether one way combinable
  datatype: boolean
  max count: 1
property:
  path: paymentCardRequired
  name: payment card required
  description: Whether payment card is required
  datatype: boolean
  max count: 1
property:
  path: lastTicketingDate
  name: last ticketing date
  description: Last ticketing date
  datatype: date
  max count: 1
property:
  path: lastTicketingDateTime
  name: last ticketing date time
  description: Last ticketing date and time
  datatype: dateTime
  max count: 1
property:
  path: numberOfBookableSeats
  name: number of bookable seats
  description: Number of bookable seats
  datatype: int
  max count: 1
property:
  path: itineraries
  name: itineraries
  description: Flight itineraries
  node: ItineraryShape
  class: Itinerary
  node kind: BlankNodeOrIRI
property:
  path: price
  name: price
  description: Price information
  node: FlightOfferPriceShape
  class: FlightOfferPrice
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: pricingOptions
  name: pricing options
  description: Pricing options
  node: PricingOptionsShape
  class: PricingOptions
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: validatingAirlineCodes
  name: validating airline codes
  description: Validating airline codes
  datatype: string
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$
property:
  path: travelerPricings
  name: traveler pricings
  description: Traveler pricings
  node: TravelerPricingShape
  class: TravelerPricing
  node kind: BlankNodeOrIRI
property:
  path: dictionaries
  name: dictionaries
  description: Dictionaries for code lookup
  node: DictionariesShape
  class: Dictionaries
  node kind: BlankNodeOrIRI
  max count: 1

ItineraryShape
type: NodeShape
target class: Itinerary
property:
  path: duration
  name: duration
  description: Total duration in ISO 8601 format
  datatype: duration
  max count: 1
property:
  path: segments
  name: segments
  description: Flight segments
  node: FlightSegmentShape
  class: FlightSegment
  node kind: BlankNodeOrIRI

FlightSegmentShape
type: NodeShape
target class: FlightSegment
property:
  path: departure
  name: departure
  description: Departure information
  node: FlightEndpointShape
  class: FlightEndpoint
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: arrival
  name: arrival
  description: Arrival information
  node: FlightEndpointShape
  class: FlightEndpoint
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: carrierCode
  name: carrier code
  description: Marketing carrier code
  datatype: string
  min count: 1
  max count: 1
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$
property:
  path: number
  name: number
  description: Flight number
  datatype: string
  min count: 1
  max count: 1
property:
  path: aircraft
  name: aircraft
  description: Aircraft information
  node: AircraftShape
  class: Aircraft
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: operating
  name: operating
  description: Operating carrier information
  node: OperatingCarrierShape
  class: OperatingCarrier
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: duration
  name: duration
  description: Flight duration in ISO 8601 format
  datatype: duration
  max count: 1
property:
  path: id
  name: id
  description: Segment ID
  datatype: string
  max count: 1
property:
  path: numberOfStops
  name: number of stops
  description: Number of stops
  datatype: int
  max count: 1
property:
  path: blacklistedInEU
  name: blacklisted in eu
  description: Blacklisted in EU indicator
  datatype: boolean
  max count: 1
property:
  path: stops
  name: stops
  description: Technical stop information
  node: FlightStopShape
  class: FlightStop
  node kind: BlankNodeOrIRI
property:
  path: co2Emissions
  name: co2emissions
  description: CO2 emissions for this segment
  node: Co2EmissionShape
  class: Co2Emission
  node kind: BlankNodeOrIRI

FlightEndpointShape
type: NodeShape
target class: FlightEndpoint
property:
  path: iataCode
  name: iata code
  description: IATA code of airport
  datatype: string
  min count: 1
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: terminal
  name: terminal
  description: Terminal
  datatype: string
  max count: 1
property:
  path: at
  name: at
  description: Date and time
  datatype: dateTime
  min count: 1
  max count: 1

AircraftShape
type: NodeShape
target class: Aircraft
property:
  path: code
  name: code
  description: IATA aircraft code
  datatype: string
  min count: 1
  max count: 1

OperatingCarrierShape
type: NodeShape
target class: OperatingCarrier
property:
  path: carrierCode
  name: carrier code
  description: Operating carrier code
  datatype: string
  min count: 1
  max count: 1
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$

FlightStopShape
type: NodeShape
target class: FlightStop
property:
  path: iataCode
  name: iata code
  description: Stop airport IATA code
  datatype: string
  min count: 1
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: duration
  name: duration
  description: Stop duration in ISO 8601 format
  datatype: duration
  max count: 1
property:
  path: arrivalAt
  name: arrival at
  description: Arrival time at stop
  datatype: dateTime
  max count: 1
property:
  path: departureAt
  name: departure at
  description: Departure time from stop
  datatype: dateTime
  max count: 1

Co2EmissionShape
type: NodeShape
target class: Co2Emission
property:
  path: weight
  name: weight
  description: Weight in kilograms
  datatype: int
  max count: 1
property:
  path: weightUnit
  name: weight unit
  description: Weight unit
  datatype: string
  max count: 1
  in: KG
property:
  path: cabin
  name: cabin
  description: Cabin class
  datatype: string
  max count: 1
  in: ECONOMY
  in: PREMIUM_ECONOMY
  in: BUSINESS
  in: FIRST

FlightOfferPriceShape
type: NodeShape
target class: FlightOfferPrice
property:
  path: currency
  name: currency
  description: Currency code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: total
  name: total
  description: Total price
  datatype: string
  max count: 1
property:
  path: base
  name: base
  description: Base price (without taxes)
  datatype: string
  max count: 1
property:
  path: fees
  name: fees
  description: Fees
  node: FeeShape
  class: Fee
  node kind: BlankNodeOrIRI
property:
  path: taxes
  name: taxes
  description: Taxes
  node: TaxShape
  class: Tax
  node kind: BlankNodeOrIRI
property:
  path: refundableTaxes
  name: refundable taxes
  description: Refundable taxes amount
  datatype: string
  max count: 1
property:
  path: margin
  name: margin
  description: Margin amount
  datatype: string
  max count: 1
property:
  path: markups
  name: markups
  description: Markup information
  node: MarkupShape
  class: Markup
  node kind: BlankNodeOrIRI
property:
  path: grandTotal
  name: grand total
  description: Grand total including all fees and taxes
  datatype: string
  max count: 1
property:
  path: sellingTotal
  name: selling total
  description: Selling total (total + margins + markup + totalFees - discounts)
  datatype: string
  max count: 1
property:
  path: billingCurrency
  name: billing currency
  description: Billing currency (may differ from display currency)
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: additionalServices
  name: additional services
  description: Additional services pricing
  node: AdditionalServiceShape
  class: AdditionalService
  node kind: BlankNodeOrIRI

FeeShape
type: NodeShape
target class: Fee
property:
  path: amount
  name: amount
  description: Fee amount
  datatype: string
  max count: 1
property:
  path: type
  name: type
  description: Fee type
  datatype: string
  max count: 1
  in: SUPPLIER
  in: TICKETING
  in: FORM_OF_PAYMENT

TaxShape
type: NodeShape
target class: Tax
property:
  path: amount
  name: amount
  description: Tax amount
  datatype: string
  max count: 1
property:
  path: code
  name: code
  description: Tax code
  datatype: string
  max count: 1

MarkupShape
type: NodeShape
target class: Markup
property:
  path: amount
  name: amount
  description: Markup amount
  datatype: string
  max count: 1

AdditionalServiceShape
type: NodeShape
target class: AdditionalService
property:
  path: amount
  name: amount
  description: Service amount
  datatype: string
  max count: 1
property:
  path: type
  name: type
  description: Service type
  datatype: string
  max count: 1
  in: CHECKED_BAGS
  in: MEALS
  in: SEATS
  in: OTHER_SERVICES

PricingOptionsShape
type: NodeShape
target class: PricingOptions
property:
  path: fareType
  name: fare type
  description: Fare type (published, negotiated, etc.)
  datatype: string
property:
  path: includedCheckedBagsOnly
  name: included checked bags only
  description: Include checked bags only
  datatype: boolean
  max count: 1
property:
  path: refundableFare
  name: refundable fare
  description: Refundable fare only
  datatype: boolean
  max count: 1
property:
  path: noRestrictionFare
  name: no restriction fare
  description: No restriction fare only
  datatype: boolean
  max count: 1
property:
  path: noPenaltyFare
  name: no penalty fare
  description: No penalty fare only
  datatype: boolean
  max count: 1

TravelerPricingShape
type: NodeShape
target class: TravelerPricing
property:
  path: travelerId
  name: traveler id
  description: Traveler ID reference
  datatype: string
  min count: 1
  max count: 1
property:
  path: fareOption
  name: fare option
  description: Fare option
  datatype: string
  min count: 1
  max count: 1
  in: STANDARD
  in: INCLUSIVE_TOUR
  in: SPANISH_MELILLA_RESIDENT
  in: SPANISH_CEUTA_RESIDENT
  in: SPANISH_CANARY_RESIDENT
  in: SPANISH_BALEARIC_RESIDENT
  in: AIR_FRANCE_METROPOLITAN_DISCOUNT_PASS
  in: AIR_FRANCE_DOM_DISCOUNT_PASS
  in: AIR_FRANCE_COMBINED_DISCOUNT_PASS
  in: AIR_FRANCE_FAMILY
  in: ADULT_WITH_COMPANION
  in: COMPANION
property:
  path: travelerType
  name: traveler type
  description: Traveler type
  datatype: string
  min count: 1
  max count: 1
  in: ADULT
  in: CHILD
  in: SEATED_INFANT
  in: HELD_INFANT
  in: STUDENT
  in: SENIOR
  in: YOUNG
property:
  path: associatedAdultId
  name: associated adult id
  description: If type is HELD_INFANT, corresponds to the adult traveler's ID who will share the seat
  datatype: string
  max count: 1
property:
  path: price
  name: price
  description: Price for this traveler
  node: TravelerPriceShape
  class: TravelerPrice
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: fareDetailsBySegment
  name: fare details by segment
  description: Fare details by segment
  node: FareDetailsShape
  class: FareDetails
  node kind: BlankNodeOrIRI

TravelerPriceShape
type: NodeShape
target class: TravelerPrice
property:
  path: currency
  name: currency
  description: Currency code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: total
  name: total
  description: Total price
  datatype: string
  max count: 1
property:
  path: base
  name: base
  description: Base price
  datatype: string
  max count: 1
property:
  path: fees
  name: fees
  description: Fees
  node: FeeShape
  class: Fee
  node kind: BlankNodeOrIRI
property:
  path: taxes
  name: taxes
  description: Taxes
  node: TaxShape
  class: Tax
  node kind: BlankNodeOrIRI
property:
  path: refundableTaxes
  name: refundable taxes
  description: Refundable taxes
  datatype: string
  max count: 1

FareDetailsShape
type: NodeShape
target class: FareDetails
property:
  path: segmentId
  name: segment id
  description: Segment ID reference
  datatype: string
  min count: 1
  max count: 1
property:
  path: cabin
  name: cabin
  description: Cabin class
  datatype: string
  max count: 1
  in: ECONOMY
  in: PREMIUM_ECONOMY
  in: BUSINESS
  in: FIRST
property:
  path: fareBasis
  name: fare basis
  description: Fare basis code
  datatype: string
  max count: 1
property:
  path: brandedFare
  name: branded fare
  description: Branded fare information
  datatype: string
  max count: 1
property:
  path: brandedFareLabel
  name: branded fare label
  description: Branded fare label
  datatype: string
  max count: 1
property:
  path: class
  name: class
  description: Booking class
  datatype: string
  max count: 1
property:
  path: includedCheckedBags
  name: included checked bags
  description: Included checked bags
  or:
    node: BaggageAllowanceShape
    class: BaggageAllowance
  or:
    node: ChargeableCheckedBagsShape
    class: ChargeableCheckedBags
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: includedCabinBags
  name: included cabin bags
  description: Included cabin bags
  or:
    node: BaggageAllowanceShape
    class: BaggageAllowance
  or:
    node: ChargeableCheckedBagsShape
    class: ChargeableCheckedBags
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: additionalServices
  name: additional services
  description: Additional services for this segment
  node: AdditionalServicesRequestShape
  class: AdditionalServicesRequest
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: amenities
  name: amenities
  description: Amenities
  node: AmenityShape
  class: Amenity
  node kind: BlankNodeOrIRI
property:
  path: isAllotment
  name: is allotment
  description: Whether fare is from allotment
  datatype: boolean
  max count: 1
property:
  path: allotmentDetails
  name: allotment details
  description: Allotment details for tour bookings
  node: AllotmentDetailsShape
  class: AllotmentDetails
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: sliceDiceIndicator
  name: slice dice indicator
  description: Slice/dice indicator for fare type
  datatype: string
  max count: 1
  in: LOCAL_AVAILABILITY
  in: SUB_OD_AVAILABILITY_1
  in: SUB_OD_AVAILABILITY_2

BaggageAllowanceShape
type: NodeShape
target class: BaggageAllowance
property:
  path: quantity
  name: quantity
  description: Number of bags
  datatype: int
  max count: 1
property:
  path: weight
  name: weight
  description: Weight per bag
  datatype: int
  max count: 1
property:
  path: weightUnit
  name: weight unit
  description: Weight unit
  datatype: string
  max count: 1
  in: KG
  in: LB

AdditionalServicesRequestShape
type: NodeShape
target class: AdditionalServicesRequest
property:
  path: chargeableCheckedBags
  name: chargeable checked bags
  description: Details of chargeable checked bags
  node: ChargeableCheckedBagsShape
  class: ChargeableCheckedBags
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: chargeableSeat
  name: chargeable seat
  description: Details of chargeable seat
  node: ChargeableSeatShape
  class: ChargeableSeat
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: chargeableSeatNumber
  name: chargeable seat number
  description: DEPRECATED - use the chargeableSeat attribute - seat number
  datatype: string
  max count: 1
property:
  path: otherServices
  name: other services
  description: Other services to add
  datatype: string
  in: PRIORITY_BOARDING
  in: AIRPORT_CHECKIN

ChargeableCheckedBagsShape
type: NodeShape
target class: ChargeableCheckedBags
property:
  path: id
  name: id
  description: ID of the chargeable bag
  datatype: string
  max count: 1

ChargeableSeatShape
type: NodeShape
target class: ChargeableSeat
property:
  path: id
  name: id
  description: ID of the chargeable seat
  datatype: string
  max count: 1
property:
  path: number
  name: number
  description: Seat number
  datatype: string
  max count: 1

AmenityShape
type: NodeShape
target class: Amenity
property:
  path: description
  name: description
  description: Amenity description
  datatype: string
  max count: 1
property:
  path: isChargeable
  name: is chargeable
  description: Whether chargeable
  datatype: boolean
  max count: 1
property:
  path: amenityType
  name: amenity type
  description: Amenity type
  datatype: string
  max count: 1
property:
  path: amenityProvider
  name: amenity provider
  description: Amenity provider
  node: amenityProviderShape
  class: amenityProvider
  node kind: BlankNodeOrIRI
  max count: 1

AllotmentDetailsShape
type: NodeShape
target class: AllotmentDetails
property:
  path: tourName
  name: tour name
  description: Tour name
  datatype: string
  max count: 1
property:
  path: tourReference
  name: tour reference
  description: Tour reference code
  datatype: string
  max count: 1

FlightOrderShape
type: NodeShape
target class: FlightOrder
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  min count: 1
  max count: 1
  has value: flight-order
property:
  path: id
  name: id
  description: Order ID
  datatype: string
  min count: 1
  max count: 1
property:
  path: queuingOfficeId
  name: queuing office id
  description: Queuing office ID
  datatype: string
  max count: 1
property:
  path: ownerOfficeId
  name: owner office id
  description: Owner office ID
  datatype: string
  max count: 1
property:
  path: associatedRecords
  name: associated records
  description: Associated airline records (PNRs)
  node: AssociatedRecordShape
  class: AssociatedRecord
  node kind: BlankNodeOrIRI
property:
  path: flightOffers
  name: flight offers
  description: Flight offers in this order
  node: FlightOfferShape
  class: FlightOffer
  node kind: BlankNodeOrIRI
property:
  path: travelers
  name: travelers
  description: Travelers in this order
  node: TravelerShape
  class: Traveler
  node kind: BlankNodeOrIRI
property:
  path: remarks
  name: remarks
  description: Remarks/comments
  node: RemarksShape
  class: Remarks
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: formOfPayments
  name: form of payments
  description: Forms of payment
  node: FormOfPaymentShape
  class: FormOfPayment
  node kind: BlankNodeOrIRI
property:
  path: ticketingAgreement
  name: ticketing agreement
  description: Ticketing agreement
  node: TicketingAgreementShape
  class: TicketingAgreement
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: automatedProcess
  name: automated process
  description: Automated process information
  node: AutomatedProcessShape
  class: AutomatedProcess
  node kind: BlankNodeOrIRI
property:
  path: contacts
  name: contacts
  description: Contact information
  node: ContactInfoShape
  class: ContactInfo
  node kind: BlankNodeOrIRI
property:
  path: tickets
  name: tickets
  description: Issued tickets
  node: AirTravelDocumentShape
  class: AirTravelDocument
  node kind: BlankNodeOrIRI
property:
  path: formOfIdentifications
  name: form of identifications
  description: Form of identification
  node: FormOfIdentificationShape
  class: FormOfIdentification
  node kind: BlankNodeOrIRI

AssociatedRecordShape
type: NodeShape
target class: AssociatedRecord
property:
  path: reference
  name: reference
  description: Record reference (PNR)
  datatype: string
  max count: 1
property:
  path: creationDate
  name: creation date
  description: Record creation date
  datatype: date
  max count: 1
property:
  path: originSystemCode
  name: origin system code
  description: Office ID that created the record
  datatype: string
  max count: 1
property:
  path: flightOfferId
  name: flight offer id
  description: Airline code that owns the record
  datatype: string
  max count: 1

TravelerShape
type: NodeShape
target class: Traveler
property:
  path: id
  name: id
  description: Traveler unique identifier
  datatype: string
  min count: 1
  max count: 1
property:
  path: dateOfBirth
  name: date of birth
  description: Date of birth (YYYY-MM-DD)
  datatype: date
  max count: 1
property:
  path: gender
  name: gender
  description: Gender
  datatype: string
  max count: 1
  in: MALE
  in: FEMALE
property:
  path: name
  name: name
  description: Traveler name
  node: TravelerNameShape
  class: TravelerName
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: contact
  name: contact
  description: Contact information
  node: ContactShape
  class: Contact
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: documents
  name: documents
  description: Identity documents
  node: TravelerDocumentShape
  class: TravelerDocument
  node kind: BlankNodeOrIRI
property:
  path: loyaltyPrograms
  name: loyalty programs
  description: Loyalty programs
  node: LoyaltyProgramShape
  class: LoyaltyProgram
  node kind: BlankNodeOrIRI

TravelerNameShape
type: NodeShape
target class: TravelerName
property:
  path: firstName
  name: first name
  description: First name / given name
  datatype: string
  min count: 1
  max count: 1
property:
  path: lastName
  name: last name
  description: Last name / surname
  datatype: string
  min count: 1
  max count: 1
property:
  path: middleName
  name: middle name
  description: Middle name
  datatype: string
  max count: 1
property:
  path: secondLastName
  name: second last name
  description: Second last name (for certain countries)
  datatype: string
  max count: 1

ContactShape
type: NodeShape
target class: Contact
property:
  path: phone
  name: phone
  description: Phone number (E.123 format)
  datatype: string
  max count: 1
property:
  path: email
  name: email
  description: Email address
  datatype: string
  max count: 1
property:
  path: emailAddress
  name: email address
  description: Email address (alternative)
  datatype: string
  max count: 1
property:
  path: phones
  name: phones
  description: Phone numbers
  node: PhoneShape
  class: Phone
  node kind: BlankNodeOrIRI
property:
  path: companyName
  name: company name
  description: Company name
  datatype: string
  max count: 1
property:
  path: purpose
  name: purpose
  description: Contact purpose
  datatype: string
  max count: 1
  in: STANDARD
  in: INVOICE
  in: STANDARD_AND_INVOICE

PhoneShape
type: NodeShape
target class: Phone
property:
  path: deviceType
  name: device type
  description: Device type
  datatype: string
  max count: 1
  in: MOBILE
  in: LANDLINE
  in: FAX
property:
  path: countryCallingCode
  name: country calling code
  description: Country calling code
  datatype: string
  max count: 1
property:
  path: number
  name: number
  description: Phone number
  datatype: string
  min count: 1
  max count: 1

TravelerDocumentShape
type: NodeShape
target class: TravelerDocument
property:
  path: documentType
  name: document type
  description: Document type
  datatype: string
  max count: 1
  in: PASSPORT
  in: IDENTITY_CARD
  in: VISA
  in: REDRESS
  in: KNOWN_TRAVELER
property:
  path: birthPlace
  name: birth place
  description: Birth place
  datatype: string
  max count: 1
property:
  path: issuanceLocation
  name: issuance location
  description: Issuance location
  datatype: string
  max count: 1
property:
  path: issuanceDate
  name: issuance date
  description: Issuance date
  datatype: date
  max count: 1
property:
  path: number
  name: number
  description: Document number
  datatype: string
  max count: 1
property:
  path: expiryDate
  name: expiry date
  description: Expiry date
  datatype: date
  max count: 1
property:
  path: issuanceCountry
  name: issuance country
  description: Issuance country (ISO 3166-1)
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: validityCountry
  name: validity country
  description: Validity country (ISO 3166-1)
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: nationality
  name: nationality
  description: Nationality (ISO 3166-1)
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: holder
  name: holder
  description: Holder indicator
  datatype: boolean
  max count: 1

LoyaltyProgramShape
type: NodeShape
target class: LoyaltyProgram
property:
  path: programOwner
  name: program owner
  description: Program owner (airline code)
  datatype: string
  max count: 1
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$
property:
  path: id
  name: id
  description: Membership ID
  datatype: string
  max count: 1

RemarksShape
type: NodeShape
target class: Remarks
property:
  path: general
  name: general
  description: General remarks
  node: GeneralRemarkShape
  class: GeneralRemark
  node kind: BlankNodeOrIRI
property:
  path: airlineRemarks
  name: airline remarks
  description: Airline remarks
  node: AirlineRemarkShape
  class: AirlineRemark
  node kind: BlankNodeOrIRI

GeneralRemarkShape
type: NodeShape
target class: GeneralRemark
property:
  path: subType
  name: sub type
  description: Remark subtype
  datatype: string
  min count: 1
  max count: 1
  in: GENERAL_MISCELLANEOUS
  in: CONFIDENTIAL
  in: INVOICE
  in: QUALITY_CONTROL
  in: BACKOFFICE
  in: FULFILLMENT
  in: ITINERARY
  in: TICKETING_MISCELLANEOUS
  in: TOUR_CODE
property:
  path: category
  name: category
  description: Category
  datatype: string
  max count: 1
property:
  path: text
  name: text
  description: Remark text
  datatype: string
  min count: 1
  max count: 1
property:
  path: travelerIds
  name: traveler ids
  description: Traveler IDs this remark applies to
  datatype: string
property:
  path: flightOfferIds
  name: flight offer ids
  description: Flight offer IDs this remark applies to
  datatype: string

AirlineRemarkShape
type: NodeShape
target class: AirlineRemark
property:
  path: subType
  name: sub type
  description: Remark subtype
  datatype: string
  min count: 1
  max count: 1
  in: OTHER_SERVICE_INFORMATION
  in: KEYWORD
  in: OTHER
property:
  path: keyword
  name: keyword
  description: Keyword for the remark
  datatype: string
  max count: 1
property:
  path: airlineCode
  name: airline code
  description: Airline code
  datatype: string
  min count: 1
  max count: 1
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$
property:
  path: text
  name: text
  description: Remark text
  datatype: string
  min count: 1
  max count: 1
property:
  path: travelerIds
  name: traveler ids
  description: Traveler IDs this remark applies to
  datatype: string
property:
  path: flightOfferIds
  name: flight offer ids
  description: Flight offer IDs this remark applies to
  datatype: string

FormOfPaymentShape
type: NodeShape
target class: FormOfPayment
property:
  path: b2bWallet
  name: b2b wallet
  description: Payment with B2B Wallet solution
  node: B2bWalletShape
  class: B2bWallet
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: creditCard
  name: credit card
  description: Credit card information
  node: CreditCardShape
  class: CreditCard
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: other
  name: other
  description: Other payment information
  node: otherShape
  class: other
  node kind: BlankNodeOrIRI
  max count: 1

B2bWalletShape
type: NodeShape
target class: B2bWallet
property:
  path: cardId
  name: card id
  description: Card identifier (read-only)
  datatype: string
  max count: 1
property:
  path: cardUsageName
  name: card usage name
  description: Card usage name
  datatype: string
  max count: 1
property:
  path: cardFriendlyName
  name: card friendly name
  description: Card friendly name
  datatype: string
  max count: 1
property:
  path: reportingData
  name: reporting data
  description: Reporting data for reconciliation
  node: ReportingDataShape
  class: ReportingData
  node kind: BlankNodeOrIRI
property:
  path: virtualCreditCardDetails
  name: virtual credit card details
  description: Virtual credit card details (read-only)
  node: VirtualCreditCardDetailsShape
  class: VirtualCreditCardDetails
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: flightOfferIds
  name: flight offer ids
  description: Flight offer IDs to which this payment applies
  datatype: string

ReportingDataShape
type: NodeShape
target class: ReportingData
property:
  path: name
  name: name
  description: Data field name
  datatype: string
  max count: 1
property:
  path: value
  name: value
  description: Data field value
  datatype: string
  max count: 1

VirtualCreditCardDetailsShape
type: NodeShape
target class: VirtualCreditCardDetails
property:
  path: brand
  name: brand
  description: Card brand
  datatype: string
  max count: 1
  in: VISA
  in: AMERICAN_EXPRESS
  in: MASTERCARD
  in: VISA_ELECTRON
  in: VISA_DEBIT
  in: MASTERCARD_DEBIT
  in: MAESTRO
  in: DINERS
  in: EASYPAY
property:
  path: vendorCode
  name: vendor code
  description: Card vendor code
  datatype: string
  max count: 1
property:
  path: holder
  name: holder
  description: Cardholder name
  datatype: string
  max count: 1
property:
  path: number
  name: number
  description: Card number
  datatype: string
  max count: 1
property:
  path: expiryDate
  name: expiry date
  description: Expiry date (YYYY-MM)
  datatype: string
  max count: 1
property:
  path: amount
  name: amount
  description: Amount
  datatype: string
  max count: 1
property:
  path: currencyCode
  name: currency code
  description: Currency code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$

CreditCardShape
type: NodeShape
target class: CreditCard
property:
  path: brand
  name: brand
  description: Card brand
  datatype: string
  max count: 1
  in: VISA
  in: AMERICAN_EXPRESS
  in: MASTERCARD
  in: VISA_ELECTRON
  in: VISA_DEBIT
  in: MASTERCARD_DEBIT
  in: MAESTRO
  in: DINERS
  in: EASYPAY
property:
  path: vendorCode
  name: vendor code
  description: Card vendor code (VI=Visa, CA=MasterCard, AX=Amex, etc.)
  datatype: string
  max count: 1
property:
  path: holder
  name: holder
  description: Cardholder name
  datatype: string
  max count: 1
property:
  path: holderName
  name: holder name
  description: Cardholder name (alternative)
  datatype: string
  max count: 1
property:
  path: number
  name: number
  description: Card number
  datatype: string
  max count: 1
property:
  path: expiryDate
  name: expiry date
  description: Expiry date (YYYY-MM)
  datatype: string
  max count: 1
property:
  path: flightOfferIds
  name: flight offer ids
  description: Flight offer IDs
  datatype: string

TicketingAgreementShape
type: NodeShape
target class: TicketingAgreement
property:
  path: option
  name: option
  description: Agreement option
  datatype: string
  max count: 1
  in: CONFIRM
  in: DELAY_TO_QUEUE
  in: DELAY_TO_CANCEL
property:
  path: delay
  name: delay
  description: Delay duration before cancellation
  datatype: string
  max count: 1
property:
  path: dateTime
  name: date time
  description: Ticketing date and time
  datatype: dateTime
  max count: 1
property:
  path: segmentIds
  name: segment ids
  description: Segment IDs
  datatype: string

AutomatedProcessShape
type: NodeShape
target class: AutomatedProcess
property:
  path: code
  name: code
  description: Process code
  datatype: string
  max count: 1
  in: IMMEDIATE
  in: DELAYED
  in: ERROR
property:
  path: queue
  name: queue
  description: Queue information
  node: queueShape
  class: queue
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: text
  name: text
  description: Text description
  datatype: string
  max count: 1
property:
  path: delay
  name: delay
  description: Delay duration
  datatype: string
  max count: 1
property:
  path: officeId
  name: office id
  description: Office ID
  datatype: string
  max count: 1
property:
  path: dateTime
  name: date time
  description: Date and time
  datatype: dateTime
  max count: 1

ContactInfoShape
type: NodeShape
target class: ContactInfo
property:
  path: addresseeName
  name: addressee name
  description: Address
  node: addresseeNameShape
  class: addresseeName
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: companyName
  name: company name
  description: Company name
  datatype: string
  max count: 1
property:
  path: purpose
  name: purpose
  description: Contact purpose
  datatype: string
  max count: 1
  in: STANDARD
  in: INVOICE
  in: STANDARD_AND_INVOICE
property:
  path: phones
  name: phones
  description: Phone numbers
  node: PhoneShape
  class: Phone
  node kind: BlankNodeOrIRI
property:
  path: emailAddress
  name: email address
  description: Email address
  datatype: string
  max count: 1
property:
  path: address
  name: address
  description: Physical address
  node: AddressShape
  class: Address
  node kind: BlankNodeOrIRI
  max count: 1

AirTravelDocumentShape
type: NodeShape
target class: AirTravelDocument
property:
  path: documentType
  name: document type
  description: Document type
  datatype: string
  max count: 1
  in: ETICKET
  in: PAPER_TICKET
  in: EMD
  in: MCO
property:
  path: documentNumber
  name: document number
  description: Document number
  datatype: string
  max count: 1
property:
  path: documentStatus
  name: document status
  description: Document status
  datatype: string
  max count: 1
  in: ISSUED
  in: REFUNDED
  in: VOID
  in: ORIGINAL
  in: CONJUNCTIVE
property:
  path: travelerId
  name: traveler id
  description: Traveler ID reference
  datatype: string
  max count: 1
property:
  path: segmentIds
  name: segment ids
  description: Segment ID references
  datatype: string

FormOfIdentificationShape
type: NodeShape
target class: FormOfIdentification
property:
  path: identificationType
  name: identification type
  description: Identification type
  datatype: string
  max count: 1
  in: DRIVERS_LICENSE
  in: PASSPORT
  in: NATIONAL_IDENTITY_CARD
  in: BOOKING_CONFIRMATION
  in: TICKET
  in: OTHER_ID
property:
  path: carrierCode
  name: carrier code
  description: Carrier code
  datatype: string
  max count: 1
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$
property:
  path: number
  name: number
  description: Identification number
  datatype: string
  max count: 1
property:
  path: travelerIds
  name: traveler ids
  description: Traveler IDs
  datatype: string
property:
  path: flightOfferIds
  name: flight offer ids
  description: Flight offer IDs
  datatype: string

PaymentShape
type: NodeShape
target class: Payment
property:
  path: brand
  name: brand
  description: Payment brand (e.g., VISA)
  datatype: string
  max count: 1
  in: VISA
  in: AMERICAN_EXPRESS
  in: MASTERCARD
  in: VISA_ELECTRON
  in: VISA_DEBIT
  in: MASTERCARD_DEBIT
  in: MAESTRO
  in: DINERS
  in: EASYPAY
property:
  path: binNumber
  name: bin number
  description: Card BIN number
  datatype: int
  max count: 1
property:
  path: method
  name: method
  description: Payment method
  datatype: string
  max count: 1
  in: CASH
  in: CREDIT_CARD
  in: CHECK
property:
  path: flightOfferIds
  name: flight offer ids
  description: Flight offer IDs
  datatype: string

PriceAnalysisShape
type: NodeShape
target class: PriceAnalysis
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: itinerary-price-metric
property:
  path: origin
  name: origin
  description: Origin IATA code
  node: originShape
  class: origin
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: destination
  name: destination
  description: Destination IATA code
  node: destinationShape
  class: destination
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: departureDate
  name: departure date
  description: Departure date
  datatype: date
  max count: 1
property:
  path: oneWay
  name: one way
  description: One-way indicator
  datatype: boolean
  max count: 1
property:
  path: currencyCode
  name: currency code
  description: Currency code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: priceMetrics
  name: price metrics
  description: Price metrics
  node: PriceMetricShape
  class: PriceMetric
  node kind: BlankNodeOrIRI

PriceMetricShape
type: NodeShape
target class: PriceMetric
property:
  path: amount
  name: amount
  description: Amount
  datatype: string
  max count: 1
property:
  path: quartileRanking
  name: quartile ranking
  description: Quartile ranking
  datatype: string
  max count: 1
  in: MINIMUM
  in: FIRST
  in: MEDIUM
  in: THIRD
  in: MAXIMUM

HotelPoliciesShape
type: NodeShape
target class: HotelPolicies
property:
  path: paymentType
  name: payment type
  description: Payment type required
  datatype: string
  max count: 1
  in: GUARANTEE
  in: DEPOSIT
  in: PREPAY
  in: HOLDTIME
  in: NONE
  in: GUARANTEE_IMMEDIATE
  in: DEPOSIT_IMMEDIATE
  in: PREPAY_IMMEDIATE
property:
  path: guarantee
  name: guarantee
  description: Guarantee policy
  node: GuaranteePolicyShape
  class: GuaranteePolicy
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: deposit
  name: deposit
  description: Deposit policy
  node: DepositPolicyShape
  class: DepositPolicy
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: prepay
  name: prepay
  description: Prepay policy
  node: PrepayPolicyShape
  class: PrepayPolicy
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: holdTime
  name: hold time
  description: Hold time policy
  node: HoldTimeShape
  class: HoldTime
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: cancellations
  name: cancellations
  description: Cancellation policies
  node: CancellationPolicyShape
  class: CancellationPolicy
  node kind: BlankNodeOrIRI
property:
  path: checkInOut
  name: check in out
  description: Check-in/out information
  node: CheckInOutPolicyShape
  class: CheckInOutPolicy
  node kind: BlankNodeOrIRI
  max count: 1

GuaranteePolicyShape
type: NodeShape
target class: GuaranteePolicy
property:
  path: acceptedPayments
  name: accepted payments
  description: Accepted payment methods
  node: AcceptedPaymentsShape
  class: AcceptedPayments
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: description
  name: description
  description: Guarantee description
  node: descriptionShape
  class: description
  node kind: BlankNodeOrIRI
  max count: 1

AcceptedPaymentsShape
type: NodeShape
target class: AcceptedPayments
property:
  path: creditCards
  name: credit cards
  description: Credit card types accepted
  datatype: string
property:
  path: methods
  name: methods
  description: Payment methods accepted
  datatype: string
  in: CREDIT_CARD
  in: AGENCY_ACCOUNT
  in: TRAVEL_AGENT_ID
  in: CORPORATE_ID
  in: HOTEL_GUEST_ID
  in: CHECK
  in: MISC_CHARGE_ORDER
  in: ADVANCE_DEPOSIT
  in: COMPANY_ADDRESS
  in: VCC
  in: VCC_BILLBACK
  in: VCC_B2B_WALLET
  in: TRAVEL_AGENT_IMMEDIATE
  in: DEFERED_PAYMENT
  in: CASH

DepositPolicyShape
type: NodeShape
target class: DepositPolicy
property:
  path: amount
  name: amount
  description: Deposit amount
  datatype: string
  max count: 1
property:
  path: deadline
  name: deadline
  description: Deadline
  datatype: dateTime
  max count: 1
property:
  path: acceptedPayments
  name: accepted payments
  description: Accepted payments
  node: AcceptedPaymentsShape
  class: AcceptedPayments
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: description
  name: description
  description: Description
  node: descriptionShape
  class: description
  node kind: BlankNodeOrIRI
  max count: 1

PrepayPolicyShape
type: NodeShape
target class: PrepayPolicy
property:
  path: amount
  name: amount
  description: Prepay amount
  datatype: string
  max count: 1
property:
  path: deadline
  name: deadline
  description: Deadline
  datatype: dateTime
  max count: 1
property:
  path: acceptedPayments
  name: accepted payments
  description: Accepted payments
  node: AcceptedPaymentsShape
  class: AcceptedPayments
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: description
  name: description
  description: Description
  node: descriptionShape
  class: description
  node kind: BlankNodeOrIRI
  max count: 1

HoldTimeShape
type: NodeShape
target class: HoldTime
property:
  path: deadline
  name: deadline
  description: Deadline
  datatype: string
  max count: 1

CancellationPolicyShape
type: NodeShape
target class: CancellationPolicy
property:
  path: type
  name: type
  description: Cancellation type
  datatype: string
  max count: 1
  in: FULL_STAY
property:
  path: description
  name: description
  description: Cancellation description
  node: descriptionShape
  class: description
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: amount
  name: amount
  description: Amount to pay if cancelled
  datatype: string
  max count: 1
property:
  path: numberOfNights
  name: number of nights
  description: Number of nights charged
  datatype: int
  max count: 1
property:
  path: percentage
  name: percentage
  description: Percentage charged
  datatype: string
  max count: 1
property:
  path: deadline
  name: deadline
  description: Deadline date/time
  datatype: dateTime
  max count: 1

CheckInOutPolicyShape
type: NodeShape
target class: CheckInOutPolicy
property:
  path: checkIn
  name: check in
  description: Check-in time in ISO-8601 format (e.g., 13:00:00)
  datatype: string
  max count: 1
property:
  path: checkInDescription
  name: check in description
  description: Check-in description
  node: QualifiedFreeTextShape
  class: QualifiedFreeText
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: checkOut
  name: check out
  description: Check-out time in ISO-8601 format (e.g., 11:00:00)
  datatype: string
  max count: 1
property:
  path: checkOutDescription
  name: check out description
  description: Check-out description
  node: QualifiedFreeTextShape
  class: QualifiedFreeText
  node kind: BlankNodeOrIRI
  max count: 1

QualifiedFreeTextShape
type: NodeShape
target class: QualifiedFreeText
property:
  path: text
  name: text
  description: Text content
  datatype: string
  max count: 1
property:
  path: lang
  name: lang
  description: Language code (BCP-47)
  datatype: string
  max count: 1

HotelPriceShape
type: NodeShape
target class: HotelPrice
property:
  path: currency
  name: currency
  description: Currency code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: base
  name: base
  description: Base price
  datatype: string
  max count: 1
property:
  path: total
  name: total
  description: Total price
  datatype: string
  max count: 1
property:
  path: sellingTotal
  name: selling total
  description: Selling total
  datatype: string
  max count: 1
property:
  path: taxes
  name: taxes
  description: Tax breakdown
  node: HotelTaxShape
  class: HotelTax
  node kind: BlankNodeOrIRI
property:
  path: markups
  name: markups
  description: Markup information
  node: MarkupShape
  class: Markup
  node kind: BlankNodeOrIRI
property:
  path: variations
  name: variations
  description: Price variations
  node: PriceVariationsShape
  class: PriceVariations
  node kind: BlankNodeOrIRI
  max count: 1

HotelTaxShape
type: NodeShape
target class: HotelTax
property:
  path: amount
  name: amount
  description: Tax amount
  datatype: string
  max count: 1
property:
  path: currency
  name: currency
  description: Tax currency
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: code
  name: code
  description: Tax code
  datatype: string
  max count: 1
property:
  path: percentage
  name: percentage
  description: Percentage
  datatype: string
  max count: 1
property:
  path: included
  name: included
  description: Whether included in base
  datatype: boolean
  max count: 1
property:
  path: description
  name: description
  description: Tax description
  datatype: string
  max count: 1
property:
  path: pricingFrequency
  name: pricing frequency
  description: Pricing frequency
  datatype: string
  max count: 1
property:
  path: pricingMode
  name: pricing mode
  description: Pricing mode
  datatype: string
  max count: 1

PriceVariationsShape
type: NodeShape
target class: PriceVariations
property:
  path: average
  name: average
  description: Average price
  node: averageShape
  class: average
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: changes
  name: changes
  description: Daily changes
  node: PriceChangeShape
  class: PriceChange
  node kind: BlankNodeOrIRI

PriceChangeShape
type: NodeShape
target class: PriceChange
property:
  path: startDate
  name: start date
  description: Start date
  datatype: date
  max count: 1
property:
  path: endDate
  name: end date
  description: End date
  datatype: date
  max count: 1
property:
  path: base
  name: base
  description: Base price for period
  datatype: string
  max count: 1
property:
  path: total
  name: total
  description: Total price for period
  datatype: string
  max count: 1

HotelShape
type: NodeShape
target class: Hotel
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: hotel
property:
  path: hotelId
  name: hotel id
  description: Amadeus hotel ID (8 character property code)
  datatype: string
  max count: 1
property:
  path: chainCode
  name: chain code
  description: Chain code (2 characters)
  datatype: string
  max count: 1
property:
  path: brandCode
  name: brand code
  description: Brand code
  datatype: string
  max count: 1
property:
  path: dupeId
  name: dupe id
  description: Duplicate ID for physical hotel deduplication
  datatype: string
  max count: 1
property:
  path: name
  name: name
  description: Hotel name
  datatype: string
  max count: 1
property:
  path: rating
  name: rating
  description: Hotel rating (1-5)
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: IATA location code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: cityCode
  name: city code
  description: City code (deprecated, use iataCode)
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: geoCode
  name: geo code
  description: Geographic coordinates
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: address
  name: address
  description: Physical address
  node: HotelAddressShape
  class: HotelAddress
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: distance
  name: distance
  description: Distance from reference point
  node: DistanceShape
  class: Distance
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: amenities
  name: amenities
  description: Hotel amenities
  datatype: string
property:
  path: description
  name: description
  description: Hotel description
  node: descriptionShape
  class: description
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: lastUpdate
  name: last update
  description: Last content update timestamp
  datatype: dateTime
  max count: 1
property:
  path: self
  name: self
  description: Self link
  datatype: string
  max count: 1

HotelAddressShape
type: NodeShape
target class: HotelAddress
property:
  path: lines
  name: lines
  description: Street address lines
  datatype: string
property:
  path: postalCode
  name: postal code
  description: Postal code
  datatype: string
  max count: 1
property:
  path: cityName
  name: city name
  description: City name
  datatype: string
  max count: 1
property:
  path: countryCode
  name: country code
  description: Country code
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: stateCode
  name: state code
  description: State code
  datatype: string
  max count: 1

HotelOffersShape
type: NodeShape
target class: HotelOffers
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: hotel-offers
property:
  path: hotel
  name: hotel
  description: Hotel information
  node: HotelShape
  class: Hotel
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: available
  name: available
  description: Available offers
  datatype: boolean
  max count: 1
property:
  path: offers
  name: offers
  description: Offers list
  node: HotelOfferShape
  class: HotelOffer
  node kind: BlankNodeOrIRI
property:
  path: self
  name: self
  description: Self link
  datatype: string
  max count: 1

HotelOfferShape
type: NodeShape
target class: HotelOffer
property:
  path: id
  name: id
  description: Unique offer identifier
  datatype: string
  max count: 1
property:
  path: checkInDate
  name: check in date
  description: Check-in date (hotel local date)
  datatype: date
  max count: 1
property:
  path: checkOutDate
  name: check out date
  description: Check-out date (hotel local date)
  datatype: date
  max count: 1
property:
  path: roomQuantity
  name: room quantity
  description: Number of rooms (1-9)
  datatype: string
  max count: 1
property:
  path: rateCode
  name: rate code
  description: Rate code (provider response code)
  datatype: string
  max count: 1
property:
  path: rateFamilyEstimated
  name: rate family estimated
  description: Rate family code
  node: RateFamilyShape
  class: RateFamily
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: category
  name: category
  description: Special rate category
  datatype: string
  max count: 1
property:
  path: description
  name: description
  description: Room description
  node: QualifiedFreeTextShape
  class: QualifiedFreeText
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: commission
  name: commission
  description: Commission information
  node: CommissionShape
  class: Commission
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: boardType
  name: board type
  description: Boarding type (meal plan)
  datatype: string
  max count: 1
  in: ROOM_ONLY
  in: BREAKFAST
  in: HALF_BOARD
  in: FULL_BOARD
  in: ALL_INCLUSIVE
  in: BUFFET_BREAKFAST
  in: CARIBBEAN_BREAKFAST
  in: CONTINENTAL_BREAKFAST
  in: ENGLISH_BREAKFAST
  in: FULL_BREAKFAST
  in: DINNER_BED_AND_BREAKFAST
  in: LUNCH
  in: DINNER
  in: FAMILY_PLAN
  in: AS_BOOKED
  in: BED_AND_BREAKFAST
  in: SELF_CATERING
  in: BERMUDA
  in: AMERICAN
  in: MODIFIED_AMERICAN
property:
  path: room
  name: room
  description: Room information
  node: RoomShape
  class: Room
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: guests
  name: guests
  description: Guest information
  node: GuestConfigurationShape
  class: GuestConfiguration
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: price
  name: price
  description: Price information
  node: HotelPriceShape
  class: HotelPrice
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: policies
  name: policies
  description: Policies
  node: HotelPoliciesShape
  class: HotelPolicies
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: self
  name: self
  description: Self link
  datatype: string
  max count: 1

RateFamilyShape
type: NodeShape
target class: RateFamily
property:
  path: code
  name: code
  description: Rate family code
  datatype: string
  max count: 1
property:
  path: type
  name: type
  description: Rate family type
  datatype: string
  max count: 1

CommissionShape
type: NodeShape
target class: Commission
property:
  path: percentage
  name: percentage
  description: Percentage commission
  datatype: string
  max count: 1
property:
  path: amount
  name: amount
  description: Fixed commission amount
  datatype: string
  max count: 1
property:
  path: description
  name: description
  description: Description
  node: QualifiedFreeTextShape
  class: QualifiedFreeText
  node kind: BlankNodeOrIRI
  max count: 1

RoomShape
type: NodeShape
target class: Room
property:
  path: type
  name: type
  description: Room type code (3 character identifier)
  datatype: string
  max count: 1
property:
  path: typeEstimated
  name: type estimated
  description: Estimated room category information
  node: RoomTypeEstimatedShape
  class: RoomTypeEstimated
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: description
  name: description
  description: Room description
  node: descriptionShape
  class: description
  node kind: BlankNodeOrIRI
  max count: 1

RoomTypeEstimatedShape
type: NodeShape
target class: RoomTypeEstimated
property:
  path: category
  name: category
  description: Room category
  datatype: string
  max count: 1
property:
  path: beds
  name: beds
  description: Number of beds
  datatype: int
  max count: 1
property:
  path: bedType
  name: bed type
  description: Bed type
  datatype: string
  max count: 1
  in: SINGLE
  in: DOUBLE
  in: QUEEN
  in: KING
  in: TWIN
  in: SOFA

GuestConfigurationShape
type: NodeShape
target class: GuestConfiguration
property:
  path: adults
  name: adults
  description: Number of adults
  datatype: int
  max count: 1
property:
  path: childAges
  name: child ages
  description: Number of children
  datatype: int

HotelSentimentShape
type: NodeShape
target class: HotelSentiment
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: hotelSentiment
property:
  path: hotelId
  name: hotel id
  description: Hotel ID
  datatype: string
  min count: 1
  max count: 1
property:
  path: overallRating
  name: overall rating
  description: Overall rating (0-100)
  datatype: int
  min count: 1
  max count: 1
property:
  path: numberOfRatings
  name: number of ratings
  description: Number of ratings
  datatype: int
  min count: 1
  max count: 1
property:
  path: numberOfReviews
  name: number of reviews
  description: Number of reviews
  datatype: int
  min count: 1
  max count: 1
property:
  path: sentiments
  name: sentiments
  description: Sentiment scores by category
  node: SentimentScoresShape
  class: SentimentScores
  node kind: BlankNodeOrIRI
  max count: 1

SentimentScoresShape
type: NodeShape
target class: SentimentScores
property:
  path: sleepQuality
  name: sleep quality
  description: Sleep quality score
  datatype: int
  max count: 1
property:
  path: service
  name: service
  description: Service score
  datatype: int
  max count: 1
property:
  path: facilities
  name: facilities
  description: Facilities score
  datatype: int
  max count: 1
property:
  path: roomComforts
  name: room comforts
  description: Room comfort score
  datatype: int
  max count: 1
property:
  path: valueForMoney
  name: value for money
  description: Value for money score
  datatype: int
  max count: 1
property:
  path: catering
  name: catering
  description: Catering score
  datatype: int
  max count: 1
property:
  path: swimmingPool
  name: swimming pool
  description: Swimming pool score
  datatype: int
  max count: 1
property:
  path: location
  name: location
  description: Location score
  datatype: int
  max count: 1
property:
  path: internet
  name: internet
  description: Internet score
  datatype: int
  max count: 1
property:
  path: pointsOfInterest
  name: points of interest
  description: Points of interest score
  datatype: int
  max count: 1
property:
  path: staff
  name: staff
  description: Staff score
  datatype: int
  max count: 1

HotelAutocompleteShape
type: NodeShape
target class: HotelAutocomplete
property:
  path: id
  name: id
  description: Hotel ID
  datatype: int
  max count: 1
property:
  path: name
  name: name
  description: Hotel name
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: subType
  name: sub type
  description: Subtype
  datatype: string
  max count: 1
property:
  path: relevance
  name: relevance
  description: Relevance score
  datatype: int
  max count: 1
property:
  path: type
  name: type
  description: Location type
  datatype: string
  max count: 1
property:
  path: hotelIds
  name: hotel ids
  description: Hotel IDs
  datatype: string
property:
  path: address
  name: address
  description: Address
  node: HotelAddressShape
  class: HotelAddress
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: geoCode
  name: geo code
  description: Geographic coordinates
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1

HotelBookingRequestShape
type: NodeShape
target class: HotelBookingRequest
property:
  path: data
  name: data
  description: Booking data
  node: dataShape
  class: data
  node kind: BlankNodeOrIRI
  max count: 1

HotelGuestShape
type: NodeShape
target class: HotelGuest
property:
  path: tid
  name: tid
  description: Temporary guest ID (for request)
  datatype: int
  max count: 1
property:
  path: id
  name: id
  description: Guest ID (item identifier)
  datatype: int
  max count: 1
property:
  path: title
  name: title
  description: Title (MR, MRS, MS)
  datatype: string
  max count: 1
  in: MR
  in: MRS
  in: MS
property:
  path: firstName
  name: first name
  description: First name
  datatype: string
  max count: 1
property:
  path: lastName
  name: last name
  description: Last name
  datatype: string
  max count: 1
property:
  path: phone
  name: phone
  description: Phone number
  datatype: string
  max count: 1
property:
  path: email
  name: email
  description: Email address
  datatype: string
  max count: 1
property:
  path: name
  name: name
  description: Guest name
  node: HotelGuestNameShape
  class: HotelGuestName
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: contact
  name: contact
  description: Guest contact information
  node: HotelGuestContactShape
  class: HotelGuestContact
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: hotelRewardsMember
  name: hotel rewards member
  description: Hotel rewards member number (1-21 characters)
  datatype: string
  max count: 1
property:
  path: frequentTraveler
  name: frequent traveler
  description: Airline frequent flyer information
  node: FrequentTravelerShape
  class: FrequentTraveler
  node kind: BlankNodeOrIRI
property:
  path: childAge
  name: child age
  description: Child age (if guest is a child)
  datatype: int
  max count: 1

HotelGuestNameShape
type: NodeShape
target class: HotelGuestName
property:
  path: title
  name: title
  description: Title (MR, MRS, MS)
  datatype: string
  max count: 1
  in: MR
  in: MRS
  in: MS
property:
  path: firstName
  name: first name
  description: First and middle names (1-56 characters)
  datatype: string
  min count: 1
  max count: 1
property:
  path: lastName
  name: last name
  description: Last name (1-57 characters)
  datatype: string
  min count: 1
  max count: 1
property:
  path: secondLastName
  name: second last name
  description: Second last name (for certain countries)
  datatype: string
  max count: 1

HotelGuestContactShape
type: NodeShape
target class: HotelGuestContact
property:
  path: phone
  name: phone
  description: Phone number in E.123 format (e.g., +33679278416)
  datatype: string
  min count: 1
  max count: 1
property:
  path: email
  name: email
  description: Email address (3-90 characters)
  datatype: string
  min count: 1
  max count: 1
property:
  path: companyName
  name: company name
  description: Company name
  datatype: string
  max count: 1

FrequentTravelerShape
type: NodeShape
target class: FrequentTraveler
property:
  path: airlineCode
  name: airline code
  description: Airline code (2-3 characters)
  datatype: string
  min count: 1
  max count: 1
property:
  path: frequentTravelerId
  name: frequent traveler id
  description: Frequent traveler ID
  datatype: string
  min count: 1
  max count: 1

HotelPaymentShape
type: NodeShape
target class: HotelPayment
property:
  path: id
  name: id
  description: Payment ID
  datatype: int
  max count: 1
property:
  path: method
  name: method
  description: Payment method (only 'creditCard' is accepted for booking)
  datatype: string
  min count: 1
  max count: 1
  has value: creditCard
property:
  path: card
  name: card
  description: Payment card details (required when method is creditCard)
  node: HotelPaymentCardShape
  class: HotelPaymentCard
  node kind: BlankNodeOrIRI
  max count: 1

HotelPaymentCardShape
type: NodeShape
target class: HotelPaymentCard
property:
  path: vendorCode
  name: vendor code
  description: Card vendor code (2 chars): VI=Visa, CA=MasterCard, AX=Amex, DC=Diners, MA=Maestro, UP=UnionPay
  datatype: string
  min count: 1
  max count: 1
property:
  path: cardNumber
  name: card number
  description: Card number (2-22 digits)
  datatype: string
  min count: 1
  max count: 1
property:
  path: expiryDate
  name: expiry date
  description: Expiry date (format: YYYY-MM)
  datatype: string
  min count: 1
  max count: 1
property:
  path: holderName
  name: holder name
  description: Cardholder name (optional)
  datatype: string
  max count: 1

HotelBookingRoomShape
type: NodeShape
target class: HotelBookingRoom
property:
  path: guestIds
  name: guest ids
  description: Guest IDs for room occupants
  datatype: int
property:
  path: paymentId
  name: payment id
  description: Payment ID (defaults to first payment if not specified)
  datatype: int
  max count: 1
property:
  path: specialRequest
  name: special request
  description: Special request to reception (2-120 characters)
  datatype: string
  max count: 1

HotelBookingShape
type: NodeShape
target class: HotelBooking
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  min count: 1
  max count: 1
  has value: hotel-booking
property:
  path: id
  name: id
  description: Booking ID (5-19 characters)
  datatype: string
  min count: 1
  max count: 1
property:
  path: bookingStatus
  name: booking status
  description: Booking status
  datatype: string
  max count: 1
  in: CONFIRMED
  in: PENDING
  in: CANCELLED
  in: ON_HOLD
  in: PAST
  in: UNCONFIRMED
  in: DENIED
  in: GHOST
  in: DELETED
property:
  path: roomAssociations
  name: room associations
  description: Room associations correlating rooms to guests and payments
  node: RoomAssociationShape
  class: RoomAssociation
  node kind: BlankNodeOrIRI
property:
  path: hotelOffer
  name: hotel offer
  description: Hotel offer details
  node: HotelOfferShape
  class: HotelOffer
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: hotel
  name: hotel
  description: Hotel information
  node: HotelShape
  class: Hotel
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: hotelProviderInformation
  name: hotel provider information
  description: Hotel provider information
  node: HotelProviderInformationShape
  class: HotelProviderInformation
  node kind: BlankNodeOrIRI
property:
  path: travelAgentId
  name: travel agent id
  description: Travel agent ID
  datatype: string
  min count: 1
  max count: 1
property:
  path: payment
  name: payment
  description: Payment information
  node: HotelPaymentOutputShape
  class: HotelPaymentOutput
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: arrivalInformation
  name: arrival information
  description: Arrival information
  node: ArrivalInformationShape
  class: ArrivalInformation
  node kind: BlankNodeOrIRI
  max count: 1

RoomAssociationShape
type: NodeShape
target class: RoomAssociation
property:
  path: guestReferences
  name: guest references
  description: Guest references
  node: GuestReferenceShape
  class: GuestReference
  node kind: BlankNodeOrIRI
property:
  path: hotelOfferId
  name: hotel offer id
  description: Hotel offer ID
  datatype: string
  max count: 1

GuestReferenceShape
type: NodeShape
target class: GuestReference
property:
  path: guestReference
  name: guest reference
  description: Guest reference ID
  datatype: string
  max count: 1
property:
  path: guestId
  name: guest id
  description: Guest ID
  datatype: string
  max count: 1
property:
  path: hotelLoyaltyId
  name: hotel loyalty id
  description: Hotel loyalty program member number
  datatype: string
  max count: 1

HotelProviderInformationShape
type: NodeShape
target class: HotelProviderInformation
property:
  path: hotelProviderCode
  name: hotel provider code
  description: Hotel provider code (2 characters)
  datatype: string
  min count: 1
  max count: 1
property:
  path: confirmationNumber
  name: confirmation number
  description: Provider confirmation number
  datatype: string
  min count: 1
  max count: 1
property:
  path: cancellationNumber
  name: cancellation number
  description: Cancellation number
  datatype: string
  max count: 1
property:
  path: onRequestNumber
  name: on request number
  description: On-request number
  datatype: string
  max count: 1

HotelPaymentOutputShape
type: NodeShape
target class: HotelPaymentOutput
property:
  path: method
  name: method
  description: Payment method
  datatype: string
  min count: 1
  max count: 1
property:
  path: paymentCard
  name: payment card
  description: Payment card information
  node: paymentCardShape
  class: paymentCard
  node kind: BlankNodeOrIRI
  max count: 1

ArrivalInformationShape
type: NodeShape
target class: ArrivalInformation
property:
  path: arrivalFlightDetails
  name: arrival flight details
  description: Arrival flight details
  node: ArrivalFlightDetailsShape
  class: ArrivalFlightDetails
  node kind: BlankNodeOrIRI
  max count: 1

ArrivalFlightDetailsShape
type: NodeShape
target class: ArrivalFlightDetails
property:
  path: carrierCode
  name: carrier code
  description: Carrier code
  datatype: string
  max count: 1
property:
  path: number
  name: number
  description: Flight number
  datatype: string
  max count: 1
property:
  path: departure
  name: departure
  description: Departure information
  node: departureShape
  class: departure
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: arrival
  name: arrival
  description: Arrival information
  node: arrivalShape
  class: arrival
  node kind: BlankNodeOrIRI
  max count: 1

HotelAssociatedRecordShape
type: NodeShape
target class: HotelAssociatedRecord
property:
  path: reference
  name: reference
  description: Amadeus GDS record reference (6 characters)
  datatype: string
  min count: 1
  max count: 1
property:
  path: originSystemCode
  name: origin system code
  description: Origin system code (GDS = Amadeus GDS Flight Booking PNR)
  datatype: string
  min count: 1
  max count: 1

HotelStakeholderShape
type: NodeShape
target class: HotelStakeholder
property:
  path: id
  name: id
  description: Item identifier
  datatype: int
  max count: 1
property:
  path: name
  name: name
  description: Guest name
  node: HotelStakeholderNameShape
  class: HotelStakeholderName
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: contact
  name: contact
  description: Guest contact information
  node: HotelContactShape
  class: HotelContact
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: hotelRewardsMember
  name: hotel rewards member
  description: Hotel chain rewards member number (1-21 characters)
  datatype: string
  max count: 1

HotelStakeholderNameShape
type: NodeShape
target class: HotelStakeholderName
property:
  path: title
  name: title
  description: Title/gender of room guest
  datatype: string
  max count: 1
  in: MR
  in: MRS
  in: MS
property:
  path: firstName
  name: first name
  description: First and middle names (1-56 characters)
  datatype: string
  min count: 1
  max count: 1
property:
  path: lastName
  name: last name
  description: Last name (1-57 characters)
  datatype: string
  min count: 1
  max count: 1

HotelContactShape
type: NodeShape
target class: HotelContact
property:
  path: phone
  name: phone
  description: Phone number in E.123 format (e.g., +33679278416)
  datatype: string
  min count: 1
  max count: 1
property:
  path: email
  name: email
  description: Email address
  datatype: string
  min count: 1
  max count: 1

HotelOrderShape
type: NodeShape
target class: HotelOrder
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  min count: 1
  max count: 1
  has value: hotel-order
property:
  path: id
  name: id
  description: Order ID
  datatype: string
  min count: 1
  max count: 1
property:
  path: hotelBookings
  name: hotel bookings
  description: Hotel bookings
  node: HotelBookingShape
  class: HotelBooking
  node kind: BlankNodeOrIRI
property:
  path: associatedRecords
  name: associated records
  description: Associated records
  node: HotelAssociatedRecordShape
  class: HotelAssociatedRecord
  node kind: BlankNodeOrIRI
property:
  path: self
  name: self
  description: Self link
  datatype: anyURI
  min count: 1
  max count: 1
property:
  path: guests
  name: guests
  description: Guests
  node: HotelGuestShape
  class: HotelGuest
  node kind: BlankNodeOrIRI

TransferOfferShape
type: NodeShape
target class: TransferOffer
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: transfer-offer
property:
  path: id
  name: id
  description: Offer ID
  datatype: string
  max count: 1
property:
  path: transferType
  name: transfer type
  description: Transfer type
  datatype: string
  max count: 1
  in: PRIVATE
  in: SHARED
  in: TAXI
  in: HOURLY
  in: AIRPORT_EXPRESS
  in: AIRPORT_BUS
  in: HELICOPTER
  in: PRIVATE_JET
  in: BUS
property:
  path: start
  name: start
  description: Start location
  node: TransferLocationShape
  class: TransferLocation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: end
  name: end
  description: End location
  node: TransferLocationShape
  class: TransferLocation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: stopOvers
  name: stop overs
  description: Stop overs
  node: TransferStopOverShape
  class: TransferStopOver
  node kind: BlankNodeOrIRI
property:
  path: passengerCharacteristics
  name: passenger characteristics
  description: Passenger characteristics
  node: PassengerCharacteristicsShape
  class: PassengerCharacteristics
  node kind: BlankNodeOrIRI
property:
  path: duration
  name: duration
  description: Duration in ISO 8601 format
  datatype: duration
  max count: 1
property:
  path: vehicle
  name: vehicle
  description: Vehicle information
  node: VehicleShape
  class: Vehicle
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: serviceProvider
  name: service provider
  description: Service provider
  node: ServiceProviderShape
  class: ServiceProvider
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: partnerInfo
  name: partner info
  description: Partner info
  node: PartnerInfoShape
  class: PartnerInfo
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: quotation
  name: quotation
  description: Quote information
  node: QuotationShape
  class: Quotation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: converted
  name: converted
  description: Converted quotation (in requested currency)
  node: QuotationShape
  class: Quotation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: extraServices
  name: extra services
  description: Extra services
  node: ExtraServiceShape
  class: ExtraService
  node kind: BlankNodeOrIRI
property:
  path: equipment
  name: equipment
  description: Equipment available
  node: EquipmentShape
  class: Equipment
  node kind: BlankNodeOrIRI
property:
  path: cancellationRules
  name: cancellation rules
  description: Cancellation rules
  node: CancellationRuleShape
  class: CancellationRule
  node kind: BlankNodeOrIRI
property:
  path: methodsOfPaymentAccepted
  name: methods of payment accepted
  description: Methods of payment accepted
  datatype: string
  in: CREDIT_CARD
  in: INVOICE
  in: TRAVEL_ACCOUNT
  in: PAYMENT_SERVICE_PROVIDER
property:
  path: discountCodes
  name: discount codes
  description: Discount codes accepted
  node: DiscountCodeShape
  class: DiscountCode
  node kind: BlankNodeOrIRI
property:
  path: language
  name: language
  description: Language code
  datatype: string
  max count: 1
property:
  path: distance
  name: distance
  description: Distance information
  node: TransferDistanceShape
  class: TransferDistance
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: startConnectedSegment
  name: start connected segment
  description: Start connected segment
  node: ConnectedSegmentShape
  class: ConnectedSegment
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: endConnectedSegment
  name: end connected segment
  description: End connected segment
  node: ConnectedSegmentShape
  class: ConnectedSegment
  node kind: BlankNodeOrIRI
  max count: 1

TransferLocationShape
type: NodeShape
target class: TransferLocation
property:
  path: dateTime
  name: date time
  description: Date and time
  datatype: dateTime
  max count: 1
property:
  path: locationCode
  name: location code
  description: Location code (IATA or internal)
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: IATA code for airports
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: type
  name: type
  description: Location type
  datatype: string
  max count: 1
  in: AIRPORT
  in: ADDRESS
  in: POI
  in: GEO
  in: PORT
  in: TRAIN
property:
  path: address
  name: address
  description: Address
  node: TransferAddressShape
  class: TransferAddress
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: geoCode
  name: geo code
  description: Geographic coordinates
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: countryCode
  name: country code
  description: Country code
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: name
  name: name
  description: Location name
  datatype: string
  max count: 1
property:
  path: googlePlaceId
  name: google place id
  description: Google place ID
  datatype: string
  max count: 1
property:
  path: uicCode
  name: uic code
  description: UIC code for railway stations
  datatype: string
  max count: 1
property:
  path: terminal
  name: terminal
  description: Terminal (for airports)
  datatype: string
  max count: 1

TransferAddressShape
type: NodeShape
target class: TransferAddress
property:
  path: line
  name: line
  description: Address line
  datatype: string
  max count: 1
property:
  path: https://relay.inferal.com/ontology/amadeus/property/Amadeus.TransferAddress/zip
  name: zip
  description: Postal code
  datatype: string
  max count: 1
property:
  path: countryCode
  name: country code
  description: Country code
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: cityName
  name: city name
  description: City name
  datatype: string
  max count: 1
property:
  path: stateCode
  name: state code
  description: State code
  datatype: string
  max count: 1

TransferStopOverShape
type: NodeShape
target class: TransferStopOver
property:
  path: duration
  name: duration
  description: Duration at stop
  datatype: duration
  max count: 1
property:
  path: sequenceNumber
  name: sequence number
  description: Sequence number
  datatype: int
  max count: 1
property:
  path: location
  name: location
  description: Location
  node: TransferLocationShape
  class: TransferLocation
  node kind: BlankNodeOrIRI
  max count: 1

PassengerCharacteristicsShape
type: NodeShape
target class: PassengerCharacteristics
property:
  path: passengerTypeCode
  name: passenger type code
  description: Passenger type code (ADT for adult, CHD for child)
  datatype: string
  max count: 1
property:
  path: age
  name: age
  description: Age of passenger
  datatype: int
  max count: 1

VehicleShape
type: NodeShape
target class: Vehicle
property:
  path: code
  name: code
  description: Vehicle code
  datatype: string
  min count: 1
  max count: 1
  in: CAR
  in: SED
  in: WGN
  in: ELC
  in: VAN
  in: SUV
  in: LMS
  in: MBR
  in: TRN
  in: BUS
property:
  path: category
  name: category
  description: Vehicle category
  datatype: string
  min count: 1
  max count: 1
  in: ST
  in: BU
  in: FC
property:
  path: description
  name: description
  description: Vehicle description
  datatype: string
  min count: 1
  max count: 1
property:
  path: seats
  name: seats
  description: Seat information
  node: TransferSeatShape
  class: TransferSeat
  node kind: BlankNodeOrIRI
property:
  path: baggages
  name: baggages
  description: Baggage information
  node: BaggageShape
  class: Baggage
  node kind: BlankNodeOrIRI
property:
  path: imageURL
  name: image url
  description: Vehicle image URL
  datatype: anyURI
  max count: 1

TransferSeatShape
type: NodeShape
target class: TransferSeat
property:
  path: count
  name: count
  description: Number of seats
  datatype: int
  max count: 1
property:
  path: row
  name: row
  description: Seat row
  datatype: string
  max count: 1
property:
  path: size
  name: size
  description: Seat size
  datatype: string
  max count: 1

BaggageShape
type: NodeShape
target class: Baggage
property:
  path: count
  name: count
  description: Number of bags
  datatype: int
  max count: 1
property:
  path: size
  name: size
  description: Bag size
  datatype: string
  max count: 1

ServiceProviderShape
type: NodeShape
target class: ServiceProvider
property:
  path: code
  name: code
  description: Provider code
  datatype: string
  min count: 1
  max count: 1
property:
  path: name
  name: name
  description: Provider name
  datatype: string
  min count: 1
  max count: 1
property:
  path: logoUrl
  name: logo url
  description: Logo URL
  datatype: anyURI
  min count: 1
  max count: 1
property:
  path: termsUrl
  name: terms url
  description: Terms URL
  datatype: string
  max count: 1
property:
  path: isPreferred
  name: is preferred
  description: Is preferred provider
  datatype: boolean
  max count: 1
property:
  path: contacts
  name: contacts
  description: Contact information
  node: ContactWithAddressShape
  class: ContactWithAddress
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: settings
  name: settings
  description: Provider settings
  datatype: string
  in: BILLING_ADDRESS_REQUIRED
  in: FLIGHT_NUMBER_REQUIRED
  in: CVV_NUMBER_REQUIRED
property:
  path: businessIdentification
  name: business identification
  description: Business identification
  node: BusinessIdentificationShape
  class: BusinessIdentification
  node kind: BlankNodeOrIRI
  max count: 1

ContactWithAddressShape
type: NodeShape
target class: ContactWithAddress
property:
  path: email
  name: email
  description: Email address
  datatype: string
  max count: 1
property:
  path: phoneNumber
  name: phone number
  description: Phone number
  datatype: string
  max count: 1
property:
  path: address
  name: address
  description: Address
  node: TransferAddressShape
  class: TransferAddress
  node kind: BlankNodeOrIRI
  max count: 1

BusinessIdentificationShape
type: NodeShape
target class: BusinessIdentification
property:
  path: vatRegistration
  name: vat registration
  description: VAT registration number
  node: VatRegistrationShape
  class: VatRegistration
  node kind: BlankNodeOrIRI
  max count: 1

VatRegistrationShape
type: NodeShape
target class: VatRegistration
property:
  path: number
  name: number
  description: VAT number
  datatype: string
  max count: 1
property:
  path: countryCode
  name: country code
  description: VAT country code
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$

PartnerInfoShape
type: NodeShape
target class: PartnerInfo
property:
  path: serviceProvider
  name: service provider
  description: Partner service provider
  node: ServiceProviderShape
  class: ServiceProvider
  node kind: BlankNodeOrIRI
  max count: 1

QuotationShape
type: NodeShape
target class: Quotation
property:
  path: monetaryAmount
  name: monetary amount
  description: Monetary amount
  datatype: string
  max count: 1
property:
  path: currencyCode
  name: currency code
  description: Currency code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: isEstimated
  name: is estimated
  description: Is estimate flag
  datatype: boolean
  max count: 1
property:
  path: base
  name: base
  description: Base price
  node: PointsAndCashShape
  class: PointsAndCash
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: discount
  name: discount
  description: Discount
  node: PointsAndCashShape
  class: PointsAndCash
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: taxes
  name: taxes
  description: Taxes
  node: TransferTaxShape
  class: TransferTax
  node kind: BlankNodeOrIRI
property:
  path: fees
  name: fees
  description: Fees
  node: TransferFeeShape
  class: TransferFee
  node kind: BlankNodeOrIRI
property:
  path: totalTaxes
  name: total taxes
  description: Total taxes
  node: PointsAndCashShape
  class: PointsAndCash
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: totalFees
  name: total fees
  description: Total fees
  node: PointsAndCashShape
  class: PointsAndCash
  node kind: BlankNodeOrIRI
  max count: 1

PointsAndCashShape
type: NodeShape
target class: PointsAndCash
property:
  path: monetaryAmount
  name: monetary amount
  description: Monetary amount
  datatype: string
  max count: 1

TransferTaxShape
type: NodeShape
target class: TransferTax
property:
  path: indicator
  name: indicator
  description: Tax indicator
  datatype: string
  max count: 1
property:
  path: monetaryAmount
  name: monetary amount
  description: Tax amount
  datatype: string
  max count: 1
property:
  path: isIncludedInBase
  name: is included in base
  description: Is included in base
  datatype: boolean
  max count: 1

TransferFeeShape
type: NodeShape
target class: TransferFee
property:
  path: indicator
  name: indicator
  description: Fee indicator
  datatype: string
  max count: 1
property:
  path: monetaryAmount
  name: monetary amount
  description: Fee amount
  datatype: string
  max count: 1
property:
  path: isIncludedInBase
  name: is included in base
  description: Is included in base
  datatype: boolean
  max count: 1

ExtraServiceShape
type: NodeShape
target class: ExtraService
property:
  path: code
  name: code
  description: Service code
  datatype: string
  max count: 1
  in: DSL
  in: EWT
  in: MAG
  in: FLM
  in: NWS
  in: CAI
  in: WNR
property:
  path: itemId
  name: item id
  description: Item ID
  datatype: string
  max count: 1
property:
  path: description
  name: description
  description: Service description
  datatype: string
  max count: 1
property:
  path: metricType
  name: metric type
  description: Metric type
  datatype: string
  max count: 1
  in: YEARS
  in: DAYS
  in: HOURS
  in: MINUTES
property:
  path: metricValue
  name: metric value
  description: Metric value
  datatype: string
  max count: 1
property:
  path: quotation
  name: quotation
  description: Service price
  node: QuotationShape
  class: Quotation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: converted
  name: converted
  description: Converted price
  node: QuotationShape
  class: Quotation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: isBookable
  name: is bookable
  description: Is bookable
  datatype: boolean
  max count: 1
property:
  path: taxIncluded
  name: tax included
  description: Tax included
  datatype: boolean
  max count: 1
property:
  path: includedInTotal
  name: included in total
  description: Included in total price
  datatype: boolean
  max count: 1

EquipmentShape
type: NodeShape
target class: Equipment
property:
  path: code
  name: code
  description: Equipment code
  datatype: string
  max count: 1
  in: BBS
  in: BYC
  in: CBB
  in: CBF
  in: CBS
  in: CSB
  in: CSI
  in: CST
  in: SBR
  in: SKB
  in: SKR
  in: TAB
  in: WAR
  in: WHC
  in: WIF
  in: CNT
property:
  path: itemId
  name: item id
  description: Item ID
  datatype: string
  max count: 1
property:
  path: description
  name: description
  description: Equipment description
  datatype: string
  max count: 1
property:
  path: quotation
  name: quotation
  description: Equipment price
  node: QuotationShape
  class: Quotation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: converted
  name: converted
  description: Converted price
  node: QuotationShape
  class: Quotation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: isBookable
  name: is bookable
  description: Is bookable
  datatype: boolean
  max count: 1
property:
  path: taxIncluded
  name: tax included
  description: Tax included
  datatype: boolean
  max count: 1
property:
  path: includedInTotal
  name: included in total
  description: Included in total price
  datatype: boolean
  max count: 1

CancellationRuleShape
type: NodeShape
target class: CancellationRule
property:
  path: ruleDescription
  name: rule description
  description: Rule description
  datatype: string
  max count: 1
property:
  path: feeType
  name: fee type
  description: Fee type
  datatype: string
  max count: 1
  in: PERCENTAGE
  in: VALUE
property:
  path: feeValue
  name: fee value
  description: Fee value
  datatype: string
  max count: 1
property:
  path: currencyCode
  name: currency code
  description: Currency code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: metricType
  name: metric type
  description: Metric type
  datatype: string
  max count: 1
  in: YEARS
  in: DAYS
  in: HOURS
  in: MINUTES
property:
  path: metricMin
  name: metric min
  description: Metric min value
  datatype: string
  max count: 1
property:
  path: metricMax
  name: metric max
  description: Metric max value
  datatype: string
  max count: 1

DiscountCodeShape
type: NodeShape
target class: DiscountCode
property:
  path: type
  name: type
  description: Discount type
  datatype: string
  max count: 1
property:
  path: value
  name: value
  description: Discount value
  datatype: string
  max count: 1

TransferDistanceShape
type: NodeShape
target class: TransferDistance
property:
  path: value
  name: value
  description: Distance value
  datatype: double
  max count: 1
property:
  path: unit
  name: unit
  description: Distance unit
  datatype: string
  max count: 1
  in: KM
  in: MI

ConnectedSegmentShape
type: NodeShape
target class: ConnectedSegment
property:
  path: transportType
  name: transport type
  description: Transport type
  datatype: string
  max count: 1
  in: FLIGHT
  in: TRAIN
  in: CRUISE
property:
  path: transportNumber
  name: transport number
  description: Transport number
  datatype: string
  max count: 1
property:
  path: departure
  name: departure
  description: Departure info
  node: departureShape
  class: departure
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: arrival
  name: arrival
  description: Arrival info
  node: arrivalShape
  class: arrival
  node kind: BlankNodeOrIRI
  max count: 1

TransferOrderShape
type: NodeShape
target class: TransferOrder
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: transfer-order
property:
  path: id
  name: id
  description: Order ID
  datatype: string
  max count: 1
property:
  path: reference
  name: reference
  description: Trip reference
  datatype: string
  max count: 1
property:
  path: transfers
  name: transfers
  description: Transfer reservations
  node: TransferReservationShape
  class: TransferReservation
  node kind: BlankNodeOrIRI
property:
  path: passengers
  name: passengers
  description: Passengers in order
  node: TransferPassengerShape
  class: TransferPassenger
  node kind: BlankNodeOrIRI
property:
  path: agency
  name: agency
  description: Agency
  node: TransferAgencyShape
  class: TransferAgency
  node kind: BlankNodeOrIRI
  max count: 1

TransferReservationShape
type: NodeShape
target class: TransferReservation
property:
  path: confirmNbr
  name: confirm nbr
  description: Confirmation number from supplier
  datatype: string
  max count: 1
property:
  path: status
  name: status
  description: Status
  datatype: string
  max count: 1
  in: CONFIRMED
  in: CANCELLED
property:
  path: note
  name: note
  description: Note to provider
  datatype: string
  max count: 1
property:
  path: methodOfPayment
  name: method of payment
  description: Method of payment
  datatype: string
  max count: 1
  in: CASH
  in: CREDIT_CARD
  in: CHECK
property:
  path: paymentServiceProvider
  name: payment service provider
  description: Payment service provider
  datatype: string
  max count: 1
  in: STRIPE_CONNECT
property:
  path: offerId
  name: offer id
  description: Offer ID
  datatype: string
  max count: 1
property:
  path: transferType
  name: transfer type
  description: Transfer type
  datatype: string
  max count: 1
  in: PRIVATE
  in: SHARED
  in: TAXI
  in: HOURLY
  in: AIRPORT_EXPRESS
  in: AIRPORT_BUS
  in: HELICOPTER
  in: PRIVATE_JET
  in: BUS
property:
  path: start
  name: start
  description: Start location
  node: TransferLocationShape
  class: TransferLocation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: end
  name: end
  description: End location
  node: TransferLocationShape
  class: TransferLocation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: stopOvers
  name: stop overs
  description: Stop overs
  node: TransferStopOverShape
  class: TransferStopOver
  node kind: BlankNodeOrIRI
property:
  path: vehicle
  name: vehicle
  description: Vehicle
  node: VehicleShape
  class: Vehicle
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: serviceProvider
  name: service provider
  description: Service provider
  node: ServiceProviderShape
  class: ServiceProvider
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: quotation
  name: quotation
  description: Quotation
  node: QuotationShape
  class: Quotation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: converted
  name: converted
  description: Converted quotation
  node: QuotationShape
  class: Quotation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: extraServices
  name: extra services
  description: Extra services
  node: ExtraServiceShape
  class: ExtraService
  node kind: BlankNodeOrIRI
property:
  path: equipment
  name: equipment
  description: Equipment
  node: EquipmentShape
  class: Equipment
  node kind: BlankNodeOrIRI
property:
  path: cancellationRules
  name: cancellation rules
  description: Cancellation rules
  node: CancellationRuleShape
  class: CancellationRule
  node kind: BlankNodeOrIRI
property:
  path: distance
  name: distance
  description: Distance
  node: TransferDistanceShape
  class: TransferDistance
  node kind: BlankNodeOrIRI
  max count: 1

TransferPassengerShape
type: NodeShape
target class: TransferPassenger
property:
  path: id
  name: id
  description: Passenger ID
  datatype: int
  max count: 1
property:
  path: firstName
  name: first name
  description: First name
  datatype: string
  max count: 1
property:
  path: lastName
  name: last name
  description: Last name
  datatype: string
  max count: 1
property:
  path: title
  name: title
  description: Title
  datatype: string
  max count: 1
property:
  path: contacts
  name: contacts
  description: Contact information
  node: TransferPassengerContactShape
  class: TransferPassengerContact
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: billingAddress
  name: billing address
  description: Billing address
  node: TransferAddressShape
  class: TransferAddress
  node kind: BlankNodeOrIRI
  max count: 1

TransferPassengerContactShape
type: NodeShape
target class: TransferPassengerContact
property:
  path: email
  name: email
  description: Email address
  datatype: string
  max count: 1
property:
  path: phoneNumber
  name: phone number
  description: Phone number
  datatype: string
  max count: 1

TransferAgencyShape
type: NodeShape
target class: TransferAgency
property:
  path: email
  name: email
  description: Agency email
  datatype: string
  max count: 1

TransferBookingRequestShape
type: NodeShape
target class: TransferBookingRequest
property:
  path: data
  name: data
  description: Booking data
  node: TransferBookingDataShape
  class: TransferBookingData
  node kind: BlankNodeOrIRI
  max count: 1

TransferBookingDataShape
type: NodeShape
target class: TransferBookingData
property:
  path: note
  name: note
  description: Note to driver
  datatype: string
  max count: 1
property:
  path: flightNumber
  name: flight number
  description: Flight number (required by some providers)
  datatype: string
  max count: 1
property:
  path: passengers
  name: passengers
  description: Passengers
  node: TransferPassengerShape
  class: TransferPassenger
  node kind: BlankNodeOrIRI
property:
  path: payment
  name: payment
  description: Payment information
  node: TransferPaymentShape
  class: TransferPayment
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1
property:
  path: agency
  name: agency
  description: Agency information
  node: TransferAgencyShape
  class: TransferAgency
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: equipment
  name: equipment
  description: Equipment to include
  node: EquipmentSelectionShape
  class: EquipmentSelection
  node kind: BlankNodeOrIRI
property:
  path: extraServices
  name: extra services
  description: Extra services to include
  node: ExtraServiceSelectionShape
  class: ExtraServiceSelection
  node kind: BlankNodeOrIRI
property:
  path: loyaltyNumber
  name: loyalty number
  description: Loyalty number
  node: LoyaltyNumberShape
  class: LoyaltyNumber
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: corporation
  name: corporation
  description: Corporation info
  node: CorporationShape
  class: Corporation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: startConnectedSegment
  name: start connected segment
  description: Start connected segment
  node: TravelSegmentShape
  class: TravelSegment
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: endConnectedSegment
  name: end connected segment
  description: End connected segment
  node: TravelSegmentShape
  class: TravelSegment
  node kind: BlankNodeOrIRI
  max count: 1

TransferPaymentShape
type: NodeShape
target class: TransferPayment
property:
  path: methodOfPayment
  name: method of payment
  description: Method of payment
  datatype: string
  max count: 1
  in: CASH
  in: CREDIT_CARD
  in: CHECK
property:
  path: paymentReference
  name: payment reference
  description: Payment reference (for travel account)
  datatype: string
  max count: 1
property:
  path: paymentServiceProvider
  name: payment service provider
  description: Payment service provider
  datatype: string
  max count: 1
  in: STRIPE_CONNECT
property:
  path: creditCard
  name: credit card
  description: Credit card (required for CREDIT_CARD method)
  node: TransferCreditCardShape
  class: TransferCreditCard
  node kind: BlankNodeOrIRI
  max count: 1

TransferCreditCardShape
type: NodeShape
target class: TransferCreditCard
property:
  path: number
  name: number
  description: Card number
  datatype: string
  max count: 1
property:
  path: holderName
  name: holder name
  description: Cardholder name
  datatype: string
  max count: 1
property:
  path: vendorCode
  name: vendor code
  description: Vendor code (VI, CA, etc.)
  datatype: string
  max count: 1
property:
  path: expiryDate
  name: expiry date
  description: Expiry date (MMYY)
  datatype: string
  max count: 1
property:
  path: cvv
  name: cvv
  description: CVV
  datatype: string
  max count: 1

EquipmentSelectionShape
type: NodeShape
target class: EquipmentSelection
property:
  path: code
  name: code
  description: Equipment code
  datatype: string
  max count: 1

ExtraServiceSelectionShape
type: NodeShape
target class: ExtraServiceSelection
property:
  path: code
  name: code
  description: Service code
  datatype: string
  max count: 1
property:
  path: itemCount
  name: item count
  description: Quantity
  datatype: int
  max count: 1

LoyaltyNumberShape
type: NodeShape
target class: LoyaltyNumber
property:
  path: programId
  name: program id
  description: Program ID
  datatype: string
  max count: 1
property:
  path: number
  name: number
  description: Membership number
  datatype: string
  max count: 1

CorporationShape
type: NodeShape
target class: Corporation
property:
  path: name
  name: name
  description: Corporation name
  datatype: string
  max count: 1
property:
  path: address
  name: address
  description: Corporation address
  node: TransferAddressShape
  class: TransferAddress
  node kind: BlankNodeOrIRI
  max count: 1

TravelSegmentShape
type: NodeShape
target class: TravelSegment
property:
  path: transportationType
  name: transportation type
  description: Transport type
  datatype: string
  max count: 1
  in: FLIGHT
  in: TRAIN
  in: CRUISE
property:
  path: transportationNumber
  name: transportation number
  description: Transport number (flight or train number)
  datatype: string
  max count: 1
property:
  path: departure
  name: departure
  description: Departure information
  node: TravelSegmentLocationShape
  class: TravelSegmentLocation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: arrival
  name: arrival
  description: Arrival information
  node: TravelSegmentLocationShape
  class: TravelSegmentLocation
  node kind: BlankNodeOrIRI
  max count: 1

TravelSegmentLocationShape
type: NodeShape
target class: TravelSegmentLocation
property:
  path: uicCode
  name: uic code
  description: Railway UIC code
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: Airport IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: localDateTime
  name: local date time
  description: Local date and time
  datatype: dateTime
  max count: 1

PointOfInterestShape
type: NodeShape
target class: PointOfInterest
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: location
property:
  path: subType
  name: sub type
  description: Subtype
  datatype: string
  max count: 1
  in: AIRPORT
  in: CITY
  in: POINT_OF_INTEREST
  in: DISTRICT
property:
  path: id
  name: id
  description: POI ID
  datatype: string
  max count: 1
property:
  path: self
  name: self
  description: Self link
  node: LinksShape
  class: Links
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: geoCode
  name: geo code
  description: Geographic code
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: name
  name: name
  description: POI name
  datatype: string
  max count: 1
property:
  path: category
  name: category
  description: POI category
  datatype: string
  max count: 1
  in: SIGHTS
  in: BEACH_PARK
  in: HISTORICAL
  in: NIGHTLIFE
  in: RESTAURANT
  in: SHOPPING
property:
  path: rank
  name: rank
  description: POI rank
  datatype: string
  max count: 1
property:
  path: tags
  name: tags
  description: POI tags
  datatype: string

LinksShape
type: NodeShape
target class: Links
property:
  path: href
  name: href
  description: Link href
  datatype: anyURI
  min count: 1
  max count: 1
property:
  path: methods
  name: methods
  description: Allowed HTTP methods
  datatype: string
  in: GET
  in: PUT
  in: DELETE
  in: POST
  in: PATCH

CityShape
type: NodeShape
target class: City
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: location
property:
  path: subType
  name: sub type
  description: Subtype
  datatype: string
  max count: 1
  in: CITY
property:
  path: name
  name: name
  description: City name
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: address
  name: address
  description: Address information
  node: CityAddressShape
  class: CityAddress
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: geoCode
  name: geo code
  description: Geographic coordinates
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1

CityAddressShape
type: NodeShape
target class: CityAddress
property:
  path: countryCode
  name: country code
  description: Country code
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: stateCode
  name: state code
  description: State code
  datatype: string
  max count: 1

LocationScoreShape
type: NodeShape
target class: LocationScore
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: location-score
property:
  path: geoCode
  name: geo code
  description: Geographic code
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: categoryScores
  name: category scores
  description: Category scores
  node: CategoryScoresShape
  class: CategoryScores
  node kind: BlankNodeOrIRI
  max count: 1

CategoryScoresShape
type: NodeShape
target class: CategoryScores
property:
  path: sight
  name: sight
  description: Sight score
  node: ScoreValueShape
  class: ScoreValue
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: restaurant
  name: restaurant
  description: Restaurant score
  node: ScoreValueShape
  class: ScoreValue
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: shopping
  name: shopping
  description: Shopping score
  node: ScoreValueShape
  class: ScoreValue
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: nightLife
  name: night life
  description: Nightlife score
  node: ScoreValueShape
  class: ScoreValue
  node kind: BlankNodeOrIRI
  max count: 1

ScoreValueShape
type: NodeShape
target class: ScoreValue
property:
  path: overall
  name: overall
  description: Overall score (0-100)
  datatype: int
  max count: 1
property:
  path: historical
  name: historical
  description: Historical score
  datatype: int
  max count: 1
property:
  path: beachAndPark
  name: beach and park
  description: Beach and park score
  datatype: int
  max count: 1

TravelRecommendationShape
type: NodeShape
target class: TravelRecommendation
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: recommended-location
property:
  path: subType
  name: sub type
  description: Subtype
  datatype: string
  max count: 1
property:
  path: name
  name: name
  description: Destination name
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: geoCode
  name: geo code
  description: Geographic code
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: relevance
  name: relevance
  description: Relevance score (0-100)
  datatype: double
  max count: 1

SafePlaceShape
type: NodeShape
target class: SafePlace
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: safety-rated-location
property:
  path: id
  name: id
  description: ID
  datatype: string
  max count: 1
property:
  path: self
  name: self
  description: Self link
  node: LinksShape
  class: Links
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: subType
  name: sub type
  description: Subtype
  datatype: string
  max count: 1
  in: AIRPORT
  in: CITY
  in: POINT_OF_INTEREST
  in: DISTRICT
property:
  path: name
  name: name
  description: Location name
  datatype: string
  max count: 1
property:
  path: geoCode
  name: geo code
  description: Geographic code
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: safetyScore
  name: safety score
  description: Safety score
  node: SafetyScoreShape
  class: SafetyScore
  node kind: BlankNodeOrIRI
  max count: 1

SafetyScoreShape
type: NodeShape
target class: SafetyScore
property:
  path: overall
  name: overall
  description: Overall safety score (1-100)
  datatype: int
  max count: 1
property:
  path: lgbtq
  name: lgbtq
  description: LGBTQ+ safety score
  datatype: int
  max count: 1
property:
  path: medical
  name: medical
  description: Medical safety score
  datatype: int
  max count: 1
property:
  path: physicalHarm
  name: physical harm
  description: Physical harm score
  datatype: int
  max count: 1
property:
  path: politicalFreedom
  name: political freedom
  description: Political freedom score
  datatype: int
  max count: 1
property:
  path: theft
  name: theft
  description: Theft score
  datatype: int
  max count: 1
property:
  path: women
  name: women
  description: Women safety score
  datatype: int
  max count: 1

ActivityShape
type: NodeShape
target class: Activity
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: activity
property:
  path: id
  name: id
  description: Activity ID
  datatype: string
  max count: 1
property:
  path: self
  name: self
  description: Self link
  node: LinksShape
  class: Links
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: name
  name: name
  description: Activity name
  datatype: string
  max count: 1
property:
  path: shortDescription
  name: short description
  description: Short description
  datatype: string
  max count: 1
property:
  path: description
  name: description
  description: Full description
  datatype: string
  max count: 1
property:
  path: geoCode
  name: geo code
  description: Geographic code
  node: GeoCodeShape
  class: GeoCode
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: rating
  name: rating
  description: Rating
  datatype: string
  max count: 1
property:
  path: pictures
  name: pictures
  description: Pictures
  datatype: anyURI
property:
  path: bookingLink
  name: booking link
  description: Booking link
  datatype: anyURI
  max count: 1
property:
  path: price
  name: price
  description: Price
  node: ActivityPriceShape
  class: ActivityPrice
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: minimumDuration
  name: minimum duration
  description: Minimum duration
  datatype: duration
  max count: 1

ActivityPriceShape
type: NodeShape
target class: ActivityPrice
property:
  path: currencyCode
  name: currency code
  description: Currency code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: amount
  name: amount
  description: Price amount
  datatype: string
  max count: 1

TripPurposePredictionShape
type: NodeShape
target class: TripPurposePrediction
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: prediction
property:
  path: subType
  name: sub type
  description: Subtype
  datatype: string
  max count: 1
  in: trip-purpose
property:
  path: id
  name: id
  description: Prediction ID
  datatype: string
  max count: 1
property:
  path: result
  name: result
  description: Prediction result
  datatype: string
  max count: 1
  in: LEISURE
  in: BUSINESS
property:
  path: probability
  name: probability
  description: Probability of the prediction
  datatype: string
  max count: 1

FlightDelayPredictionResultShape
type: NodeShape
target class: FlightDelayPredictionResult
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: prediction
property:
  path: subType
  name: sub type
  description: Subtype
  datatype: string
  max count: 1
  in: flight-delay
property:
  path: id
  name: id
  description: Prediction ID
  datatype: string
  max count: 1
property:
  path: probability
  name: probability
  description: Delay probability
  datatype: string
  max count: 1
property:
  path: result
  name: result
  description: Delay result
  datatype: string
  max count: 1
  in: LESS_THAN_30_MINUTES
  in: BETWEEN_30_AND_60_MINUTES
  in: BETWEEN_60_AND_120_MINUTES
  in: OVER_120_MINUTES_OR_CANCELLED

FlightChoicePredictionShape
type: NodeShape
target class: FlightChoicePrediction
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: flight-offer
property:
  path: id
  name: id
  description: Offer ID
  datatype: string
  max count: 1
property:
  path: choiceProbability
  name: choice probability
  description: Choice probability
  datatype: string
  max count: 1

OriginDestinationShape
type: NodeShape
target class: OriginDestination
property:
  path: id
  name: id
  description: Origin destination ID
  datatype: string
  max count: 1
property:
  path: originLocationCode
  name: origin location code
  description: Origin location code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: destinationLocationCode
  name: destination location code
  description: Destination location code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: departureDateTimeRange
  name: departure date time range
  description: Departure date range
  node: DateTimeRangeShape
  class: DateTimeRange
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: originRadius
  name: origin radius
  description: Origin radius for flexible search
  datatype: int
  max count: 1
property:
  path: destinationRadius
  name: destination radius
  description: Destination radius for flexible search
  datatype: int
  max count: 1
property:
  path: alternativeOriginsCodes
  name: alternative origins codes
  description: Alternative origin codes
  datatype: string
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: alternativeDestinationsCodes
  name: alternative destinations codes
  description: Alternative destination codes
  datatype: string
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: includedConnectionPoints
  name: included connection points
  description: Included connection points
  datatype: string
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: excludedConnectionPoints
  name: excluded connection points
  description: Excluded connection points
  datatype: string
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$

DateTimeRangeShape
type: NodeShape
target class: DateTimeRange
property:
  path: date
  name: date
  description: Date (YYYY-MM-DD)
  datatype: date
  min count: 1
  max count: 1
property:
  path: time
  name: time
  description: Time (HH:MM:SS)
  datatype: string
  max count: 1
property:
  path: dateWindow
  name: date window
  description: Date window (I1D = +/- 1 day)
  datatype: string
  max count: 1
property:
  path: timeWindow
  name: time window
  description: Time window (1H = +/- 1 hour)
  datatype: string
  max count: 1

TravelerCriteriaShape
type: NodeShape
target class: TravelerCriteria
property:
  path: id
  name: id
  description: Traveler ID
  datatype: string
  min count: 1
  max count: 1
property:
  path: travelerType
  name: traveler type
  description: Traveler type
  datatype: string
  min count: 1
  max count: 1
  in: ADULT
  in: CHILD
  in: SEATED_INFANT
  in: HELD_INFANT
  in: STUDENT
  in: SENIOR
  in: YOUNG
property:
  path: associatedAdultId
  name: associated adult id
  description: Associated adult ID (for infants)
  datatype: string
  max count: 1

CabinRestrictionShape
type: NodeShape
target class: CabinRestriction
property:
  path: cabin
  name: cabin
  description: Cabin class
  datatype: string
  max count: 1
  in: ECONOMY
  in: PREMIUM_ECONOMY
  in: BUSINESS
  in: FIRST
property:
  path: coverage
  name: coverage
  description: Coverage - most or all segments
  datatype: string
  max count: 1
  in: MOST_SEGMENTS
  in: AT_LEAST_ONE_SEGMENT
  in: ALL_SEGMENTS
property:
  path: originDestinationIds
  name: origin destination ids
  description: Origin destination IDs
  datatype: string

CarrierRestrictionShape
type: NodeShape
target class: CarrierRestriction
property:
  path: blacklistedInEUAllowed
  name: blacklisted in euallowed
  description: Blacklisted in EU only
  datatype: boolean
  max count: 1
property:
  path: excludedCarrierCodes
  name: excluded carrier codes
  description: Excluded carrier codes
  datatype: string
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$
property:
  path: includedCarrierCodes
  name: included carrier codes
  description: Included carrier codes
  datatype: string
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$

ConnectionRestrictionShape
type: NodeShape
target class: ConnectionRestriction
property:
  path: maxNumberOfConnections
  name: max number of connections
  description: Maximum number of connections
  datatype: int
  max count: 1
property:
  path: nonStopPreferred
  name: non stop preferred
  description: Prefer non-stop flights
  datatype: boolean
  max count: 1
property:
  path: airportChangeAllowed
  name: airport change allowed
  description: Allow airport changes during connections
  datatype: boolean
  max count: 1
property:
  path: technicalStopsAllowed
  name: technical stops allowed
  description: Allow technical stops
  datatype: boolean
  max count: 1

FlightFiltersShape
type: NodeShape
target class: FlightFilters
property:
  path: crossBorderAllowed
  name: cross border allowed
  description: Allow cross-border itineraries
  datatype: boolean
  max count: 1
property:
  path: moreOvernightsAllowed
  name: more overnights allowed
  description: Allow more than one overnight stay
  datatype: boolean
  max count: 1
property:
  path: returnToDepartureAirport
  name: return to departure airport
  description: Return to departure airport
  datatype: boolean
  max count: 1
property:
  path: railSegmentAllowed
  name: rail segment allowed
  description: Rail segment allowed
  datatype: boolean
  max count: 1
property:
  path: busSegmentAllowed
  name: bus segment allowed
  description: Bus segment allowed
  datatype: boolean
  max count: 1
property:
  path: maxFlightTime
  name: max flight time
  description: Maximum flight time in minutes
  datatype: int
  max count: 1
property:
  path: cabinRestrictions
  name: cabin restrictions
  description: Cabin restrictions
  node: CabinRestrictionShape
  class: CabinRestriction
  node kind: BlankNodeOrIRI
property:
  path: carrierRestrictions
  name: carrier restrictions
  description: Carrier restrictions
  node: CarrierRestrictionShape
  class: CarrierRestriction
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: connectionRestriction
  name: connection restriction
  description: Connection restrictions
  node: ConnectionRestrictionShape
  class: ConnectionRestriction
  node kind: BlankNodeOrIRI
  max count: 1

ExtendedPricingOptionsShape
type: NodeShape
target class: ExtendedPricingOptions
property:
  path: fareType
  name: fare type
  description: Fare types to include
  datatype: string
property:
  path: includedCheckedBagsOnly
  name: included checked bags only
  description: Include only offers with checked bags
  datatype: boolean
  max count: 1
property:
  path: refundableFare
  name: refundable fare
  description: Include only refundable fares
  datatype: boolean
  max count: 1
property:
  path: noRestrictionFare
  name: no restriction fare
  description: Include only no-restriction fares
  datatype: boolean
  max count: 1
property:
  path: noPenaltyFare
  name: no penalty fare
  description: Include only no-penalty fares
  datatype: boolean
  max count: 1

SearchCriteriaShape
type: NodeShape
target class: SearchCriteria
property:
  path: excludeAllotments
  name: exclude allotments
  description: Exclude allotments from results
  datatype: boolean
  max count: 1
property:
  path: addOneWayOffers
  name: add one way offers
  description: Add one-way offers to round-trip search
  datatype: boolean
  max count: 1
property:
  path: maxFlightOffers
  name: max flight offers
  description: Maximum flight offers to return
  datatype: int
  max count: 1
property:
  path: maxPrice
  name: max price
  description: Maximum price filter
  datatype: int
  max count: 1
property:
  path: allowAlternativeFareOptions
  name: allow alternative fare options
  description: Allow alternative fare options
  datatype: boolean
  max count: 1
property:
  path: oneFlightOfferPerDay
  name: one flight offer per day
  description: Return one flight offer per day
  datatype: boolean
  max count: 1
property:
  path: additionalInformation
  name: additional information
  description: Additional information to include
  node: additionalInformationShape
  class: additionalInformation
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: pricingOptions
  name: pricing options
  description: Pricing options
  node: ExtendedPricingOptionsShape
  class: ExtendedPricingOptions
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: flightFilters
  name: flight filters
  description: Flight filters
  node: FlightFiltersShape
  class: FlightFilters
  node kind: BlankNodeOrIRI
  max count: 1

FlightOffersSearchRequestShape
type: NodeShape
target class: FlightOffersSearchRequest
property:
  path: currencyCode
  name: currency code
  description: Currency code for prices
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: originDestinations
  name: origin destinations
  description: Origin destinations
  node: OriginDestinationShape
  class: OriginDestination
  node kind: BlankNodeOrIRI
property:
  path: travelers
  name: travelers
  description: Travelers
  node: TravelerCriteriaShape
  class: TravelerCriteria
  node kind: BlankNodeOrIRI
property:
  path: sources
  name: sources
  description: Sources (GDS)
  datatype: string
  in: GDS
property:
  path: searchCriteria
  name: search criteria
  description: Search criteria
  node: SearchCriteriaShape
  class: SearchCriteria
  node kind: BlankNodeOrIRI
  max count: 1

FlightOffersPriceRequestShape
type: NodeShape
target class: FlightOffersPriceRequest
property:
  path: data
  name: data
  description: Data wrapper
  class: data
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1

FlightAvailabilitiesRequestShape
type: NodeShape
target class: FlightAvailabilitiesRequest
property:
  path: originDestinations
  name: origin destinations
  description: Origin destinations
  node: OriginDestinationShape
  class: OriginDestination
  node kind: BlankNodeOrIRI
property:
  path: travelers
  name: travelers
  description: Travelers
  node: TravelerCriteriaShape
  class: TravelerCriteria
  node kind: BlankNodeOrIRI
property:
  path: sources
  name: sources
  description: Sources
  datatype: string
  in: GDS
property:
  path: searchCriteria
  name: search criteria
  description: Search criteria
  node: SearchCriteriaShape
  class: SearchCriteria
  node kind: BlankNodeOrIRI
  max count: 1

FlightDestinationShape
type: NodeShape
target class: FlightDestination
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: flight-destination
property:
  path: origin
  name: origin
  description: Origin IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: destination
  name: destination
  description: Destination IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: departureDate
  name: departure date
  description: Departure date
  datatype: date
  max count: 1
property:
  path: returnDate
  name: return date
  description: Return date
  datatype: date
  max count: 1
property:
  path: price
  name: price
  description: Price information
  node: priceShape
  class: price
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: links
  name: links
  description: Links
  node: linksShape
  class: links
  node kind: BlankNodeOrIRI
  max count: 1

FlightDateShape
type: NodeShape
target class: FlightDate
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: flight-date
property:
  path: origin
  name: origin
  description: Origin IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: destination
  name: destination
  description: Destination IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: departureDate
  name: departure date
  description: Departure date
  datatype: date
  max count: 1
property:
  path: returnDate
  name: return date
  description: Return date
  datatype: date
  max count: 1
property:
  path: price
  name: price
  description: Price information
  node: priceShape
  class: price
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: links
  name: links
  description: Links
  node: linksShape
  class: links
  node kind: BlankNodeOrIRI
  max count: 1

BrandedFaresUpsellRequestShape
type: NodeShape
target class: BrandedFaresUpsellRequest
property:
  path: data
  name: data
  description: Data wrapper
  class: data
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1

FlightOrderCreateRequestShape
type: NodeShape
target class: FlightOrderCreateRequest
property:
  path: data
  name: data
  description: Data wrapper
  class: data
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1

FlightDesignatorShape
type: NodeShape
target class: FlightDesignator
property:
  path: carrierCode
  name: carrier code
  description: Carrier code
  datatype: string
  max count: 1
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$
property:
  path: flightNumber
  name: flight number
  description: Flight number
  datatype: int
  max count: 1
property:
  path: operationalSuffix
  name: operational suffix
  description: Operational suffix
  datatype: string
  max count: 1

FlightLegShape
type: NodeShape
target class: FlightLeg
property:
  path: boardPointIataCode
  name: board point iata code
  description: Board point IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: offPointIataCode
  name: off point iata code
  description: Off point IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: aircraftEquipment
  name: aircraft equipment
  description: Aircraft equipment
  node: aircraftEquipmentShape
  class: aircraftEquipment
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: scheduledLegDuration
  name: scheduled leg duration
  description: Scheduled leg duration in ISO 8601 format
  datatype: string
  max count: 1

FlightStatusShape
type: NodeShape
target class: FlightStatus
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: DatedFlight
property:
  path: scheduledDepartureDate
  name: scheduled departure date
  description: Scheduled departure date
  datatype: date
  max count: 1
property:
  path: flightDesignator
  name: flight designator
  description: Flight designator
  node: FlightDesignatorShape
  class: FlightDesignator
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: flightPoints
  name: flight points
  description: Flight points
  node: FlightPointShape
  class: FlightPoint
  node kind: BlankNodeOrIRI
property:
  path: segments
  name: segments
  description: Segment information
  node: FlightStatusSegmentShape
  class: FlightStatusSegment
  node kind: BlankNodeOrIRI
property:
  path: legs
  name: legs
  description: Leg information
  node: FlightLegShape
  class: FlightLeg
  node kind: BlankNodeOrIRI

FlightPointShape
type: NodeShape
target class: FlightPoint
property:
  path: iataCode
  name: iata code
  description: IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: departure
  name: departure
  description: Departure information
  node: FlightTimingShape
  class: FlightTiming
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: arrival
  name: arrival
  description: Arrival information
  node: FlightTimingShape
  class: FlightTiming
  node kind: BlankNodeOrIRI
  max count: 1

FlightTimingShape
type: NodeShape
target class: FlightTiming
property:
  path: terminal
  name: terminal
  description: Terminal
  node: terminalShape
  class: terminal
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: gate
  name: gate
  description: Gate
  node: gateShape
  class: gate
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: timings
  name: timings
  description: Timings
  node: TimingDetailShape
  class: TimingDetail
  node kind: BlankNodeOrIRI

TimingDetailShape
type: NodeShape
target class: TimingDetail
property:
  path: qualifier
  name: qualifier
  description: Qualifier (scheduled, estimated, actual)
  datatype: string
  max count: 1
  in: STD
  in: ETD
  in: ATD
  in: STA
  in: ETA
  in: ATA
property:
  path: value
  name: value
  description: Time value
  datatype: dateTime
  max count: 1
property:
  path: delays
  name: delays
  description: Delay in ISO 8601 duration
  node: delaysShape
  class: delays
  node kind: BlankNodeOrIRI

FlightStatusSegmentShape
type: NodeShape
target class: FlightStatusSegment
property:
  path: boardPointIataCode
  name: board point iata code
  description: Board point IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: offPointIataCode
  name: off point iata code
  description: Off point IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: scheduledSegmentDuration
  name: scheduled segment duration
  description: Scheduled segment duration
  datatype: string
  max count: 1
property:
  path: partnership
  name: partnership
  description: Partnership information
  node: partnershipShape
  class: partnership
  node kind: BlankNodeOrIRI
  max count: 1

SeatMapShape
type: NodeShape
target class: SeatMap
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: seatmap
property:
  path: flightOfferId
  name: flight offer id
  description: Flight offer ID this seat map is for
  datatype: string
  max count: 1
property:
  path: segmentId
  name: segment id
  description: Segment ID this seat map is for
  datatype: string
  max count: 1
property:
  path: aircraft
  name: aircraft
  description: Aircraft information
  node: AircraftShape
  class: Aircraft
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: departure
  name: departure
  description: Departure information
  node: FlightEndpointShape
  class: FlightEndpoint
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: arrival
  name: arrival
  description: Arrival information
  node: FlightEndpointShape
  class: FlightEndpoint
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: decks
  name: decks
  description: Decks in the aircraft
  node: SeatMapDeckShape
  class: SeatMapDeck
  node kind: BlankNodeOrIRI

SeatMapDeckShape
type: NodeShape
target class: SeatMapDeck
property:
  path: deckType
  name: deck type
  description: Deck type (MAIN, UPPER)
  datatype: string
  max count: 1
  in: MAIN
  in: UPPER
property:
  path: deckConfiguration
  name: deck configuration
  description: Deck configuration
  node: deckConfigurationShape
  class: deckConfiguration
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: seats
  name: seats
  description: Seats on this deck
  node: SeatShape
  class: Seat
  node kind: BlankNodeOrIRI
property:
  path: facilities
  name: facilities
  description: Facilities on this deck
  node: SeatFacilityShape
  class: SeatFacility
  node kind: BlankNodeOrIRI

SeatShape
type: NodeShape
target class: Seat
property:
  path: cabin
  name: cabin
  description: Cabin class
  datatype: string
  max count: 1
  in: ECONOMY
  in: PREMIUM_ECONOMY
  in: BUSINESS
  in: FIRST
property:
  path: number
  name: number
  description: Seat number (e.g., 1A)
  datatype: string
  max count: 1
property:
  path: characteristicsCodes
  name: characteristics codes
  description: Seat characteristics
  datatype: string
property:
  path: travelerPricing
  name: traveler pricing
  description: Traveler pricing for this seat
  node: SeatTravelerPricingShape
  class: SeatTravelerPricing
  node kind: BlankNodeOrIRI
property:
  path: coordinates
  name: coordinates
  description: Coordinates on deck
  node: coordinatesShape
  class: coordinates
  node kind: BlankNodeOrIRI
  max count: 1

SeatTravelerPricingShape
type: NodeShape
target class: SeatTravelerPricing
property:
  path: travelerId
  name: traveler id
  description: Traveler ID
  datatype: string
  max count: 1
property:
  path: seatAvailabilityStatus
  name: seat availability status
  description: Seat availability status
  datatype: string
  max count: 1
  in: AVAILABLE
  in: BLOCKED
  in: OCCUPIED
property:
  path: price
  name: price
  description: Price for this seat
  node: priceShape
  class: price
  node kind: BlankNodeOrIRI
  max count: 1

SeatFacilityShape
type: NodeShape
target class: SeatFacility
property:
  path: code
  name: code
  description: Facility type code
  datatype: string
  max count: 1
property:
  path: column
  name: column
  description: Column position
  datatype: string
  max count: 1
property:
  path: row
  name: row
  description: Row position
  datatype: string
  max count: 1
property:
  path: position
  name: position
  description: Position relative to seat
  datatype: string
  max count: 1
property:
  path: coordinates
  name: coordinates
  description: Coordinates on deck
  node: coordinatesShape
  class: coordinates
  node kind: BlankNodeOrIRI
  max count: 1

SeatMapRequestShape
type: NodeShape
target class: SeatMapRequest
property:
  path: data
  name: data
  description: Data wrapper
  node: FlightOfferShape
  class: FlightOffer
  node kind: BlankNodeOrIRI

CheckInLinkShape
type: NodeShape
target class: CheckInLink
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: checkin-link
property:
  path: id
  name: id
  description: Unique ID
  datatype: string
  max count: 1
property:
  path: href
  name: href
  description: Link href
  datatype: string
  min count: 1
  max count: 1
property:
  path: channel
  name: channel
  description: Channel (Mobile, Web)
  datatype: string
  max count: 1
  in: Mobile
  in: Web
  in: All

AirTrafficShape
type: NodeShape
target class: AirTraffic
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: air-traffic
property:
  path: subType
  name: sub type
  description: Subtype
  datatype: string
  max count: 1
  in: BOOKED
  in: TRAVELED
property:
  path: destination
  name: destination
  description: Destination (for booked/traveled)
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: period
  name: period
  description: Period (YYYY-MM for monthly)
  datatype: string
  max count: 1
property:
  path: analytics
  name: analytics
  description: Analytics data
  node: analyticsShape
  class: analytics
  node kind: BlankNodeOrIRI
  max count: 1

BusiestPeriodShape
type: NodeShape
target class: BusiestPeriod
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: air-traffic
property:
  path: period
  name: period
  description: Period identifier (YYYY-MM)
  datatype: string
  max count: 1
property:
  path: analytics
  name: analytics
  description: Analytics
  node: analyticsShape
  class: analytics
  node kind: BlankNodeOrIRI
  max count: 1

FlightChoiceRequestShape
type: NodeShape
target class: FlightChoiceRequest
property:
  path: data
  name: data
  description: Data wrapper
  class: data
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1

HotelBookingV1RequestShape
type: NodeShape
target class: HotelBookingV1Request
property:
  path: data
  name: data
  description: Booking data wrapper
  node: dataShape
  class: data
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1

HotelOrderRequestShape
type: NodeShape
target class: HotelOrderRequest
property:
  path: data
  name: data
  description: Data wrapper
  node: dataShape
  class: data
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1

HotelRoomSelectionShape
type: NodeShape
target class: HotelRoomSelection
property:
  path: guestIds
  name: guest ids
  description: Guest IDs for this room
  datatype: int
property:
  path: paymentId
  name: payment id
  description: Payment ID
  datatype: int
  max count: 1
property:
  path: specialRequest
  name: special request
  description: Special request
  datatype: string
  max count: 1
property:
  path: offerId
  name: offer id
  description: Offer ID
  datatype: string
  max count: 1

HotelOrderPaymentShape
type: NodeShape
target class: HotelOrderPayment
property:
  path: id
  name: id
  description: Payment ID
  datatype: int
  max count: 1
property:
  path: method
  name: method
  description: Payment method
  datatype: string
  max count: 1
property:
  path: paymentCard
  name: payment card
  description: Payment card
  node: HotelPaymentCardShape
  class: HotelPaymentCard
  node kind: BlankNodeOrIRI
  max count: 1

TransferSearchRequestShape
type: NodeShape
target class: TransferSearchRequest
property:
  path: startLocationCode
  name: start location code
  description: Start location
  datatype: string
  max count: 1
property:
  path: startGeoCode
  name: start geo code
  description: Start geocode
  datatype: string
  max count: 1
property:
  path: startAddressLine
  name: start address line
  description: Start address
  datatype: string
  max count: 1
property:
  path: startCountryCode
  name: start country code
  description: Start country code
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: startCityName
  name: start city name
  description: Start city name
  datatype: string
  max count: 1
property:
  path: startZipCode
  name: start zip code
  description: Start postal code
  datatype: string
  max count: 1
property:
  path: startGooglePlaceId
  name: start google place id
  description: Start Google Place ID
  datatype: string
  max count: 1
property:
  path: startName
  name: start name
  description: Start name
  datatype: string
  max count: 1
property:
  path: endLocationCode
  name: end location code
  description: End location code
  datatype: string
  max count: 1
property:
  path: endGeoCode
  name: end geo code
  description: End geocode
  datatype: string
  max count: 1
property:
  path: endAddressLine
  name: end address line
  description: End address
  datatype: string
  max count: 1
property:
  path: endCountryCode
  name: end country code
  description: End country code
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: endCityName
  name: end city name
  description: End city name
  datatype: string
  max count: 1
property:
  path: endZipCode
  name: end zip code
  description: End postal code
  datatype: string
  max count: 1
property:
  path: endGooglePlaceId
  name: end google place id
  description: End Google Place ID
  datatype: string
  max count: 1
property:
  path: endName
  name: end name
  description: End name
  datatype: string
  max count: 1
property:
  path: transferType
  name: transfer type
  description: Transfer type
  datatype: string
  min count: 1
  max count: 1
  in: PRIVATE
  in: SHARED
  in: TAXI
  in: HOURLY
  in: AIRPORT_EXPRESS
  in: AIRPORT_BUS
  in: HELICOPTER
  in: PRIVATE_JET
  in: BUS
property:
  path: startDateTime
  name: start date time
  description: Start date and time
  datatype: dateTime
  min count: 1
  max count: 1
property:
  path: passengers
  name: passengers
  description: Number of passengers
  datatype: int
  min count: 1
  max count: 1
property:
  path: stopOvers
  name: stop overs
  description: Stop over locations
  node: TransferStopOverRequestShape
  class: TransferStopOverRequest
  node kind: BlankNodeOrIRI
property:
  path: startConnectedSegment
  name: start connected segment
  description: Start connected segment
  node: ConnectedSegmentRequestShape
  class: ConnectedSegmentRequest
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: endConnectedSegment
  name: end connected segment
  description: End connected segment
  node: ConnectedSegmentRequestShape
  class: ConnectedSegmentRequest
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: passengerCharacteristics
  name: passenger characteristics
  description: Passenger characteristics
  node: PassengerCharacteristicsRequestShape
  class: PassengerCharacteristicsRequest
  node kind: BlankNodeOrIRI
property:
  path: providerCodes
  name: provider codes
  description: Provider codes filter
  datatype: string
  max count: 1
property:
  path: currencyCode
  name: currency code
  description: Currency code for pricing
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$

TransferStopOverRequestShape
type: NodeShape
target class: TransferStopOverRequest
property:
  path: duration
  name: duration
  description: Duration at stop
  datatype: string
  max count: 1
property:
  path: sequenceNumber
  name: sequence number
  description: Sequence number
  datatype: int
  max count: 1
property:
  path: addressLine
  name: address line
  description: Address line
  datatype: string
  max count: 1
property:
  path: countryCode
  name: country code
  description: Country code
  datatype: string
  max count: 1
  min length: 2
  max length: 2
  pattern: ^[A-Z]{2}$
property:
  path: cityName
  name: city name
  description: City name
  datatype: string
  max count: 1
property:
  path: zipCode
  name: zip code
  description: Postal code
  datatype: string
  max count: 1
property:
  path: googlePlaceId
  name: google place id
  description: Google Place ID
  datatype: string
  max count: 1
property:
  path: name
  name: name
  description: Location name
  datatype: string
  max count: 1
property:
  path: geoCode
  name: geo code
  description: Geocode
  datatype: string
  max count: 1
property:
  path: stateCode
  name: state code
  description: State code
  datatype: string
  max count: 1

ConnectedSegmentRequestShape
type: NodeShape
target class: ConnectedSegmentRequest
property:
  path: transportType
  name: transport type
  description: Transport type
  datatype: string
  max count: 1
  in: FLIGHT
  in: TRAIN
  in: CRUISE
property:
  path: transportNumber
  name: transport number
  description: Transport number
  datatype: string
  max count: 1
property:
  path: iataCode
  name: iata code
  description: Departure IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: terminal
  name: terminal
  description: Terminal
  datatype: string
  max count: 1
property:
  path: dateTime
  name: date time
  description: Scheduled time
  datatype: dateTime
  max count: 1

PassengerCharacteristicsRequestShape
type: NodeShape
target class: PassengerCharacteristicsRequest
property:
  path: passengerTypeCode
  name: passenger type code
  description: Passenger type
  datatype: string
  max count: 1
property:
  path: age
  name: age
  description: Age
  datatype: int
  max count: 1

TransferCancellationShape
type: NodeShape
target class: TransferCancellation
property:
  path: confirmNbr
  name: confirm nbr
  description: Confirmation number
  datatype: string
  max count: 1
property:
  path: reservationStatus
  name: reservation status
  description: Reservation status
  datatype: string
  max count: 1
  in: CONFIRMED
  in: CANCELLED

travelersShape
type: NodeShape
target class: travelers
property:
  path: score
  name: score
  description: Traveler score (0-100)
  datatype: int
  max count: 1

analyticsShape
type: NodeShape
target class: analytics
property:
  path: flights
  name: flights
  description: Flights data
  node: flightsShape
  class: flights
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: travelers
  name: travelers
  description: Travelers data
  node: travelersShape
  class: travelers
  node kind: BlankNodeOrIRI
  max count: 1

flightsShape
type: NodeShape
target class: flights
property:
  path: score
  name: score
  description: Flight score
  datatype: int
  max count: 1

travelersShape
type: NodeShape
target class: travelers
property:
  path: score
  name: score
  description: Traveler score
  datatype: int
  max count: 1

amenityProviderShape
type: NodeShape
target class: amenityProvider
property:
  path: name
  name: name
  datatype: string
  max count: 1

arrivalShape
type: NodeShape
target class: arrival
property:
  path: iataCode
  name: iata code
  description: IATA airport code
  datatype: string
  min count: 1
  max count: 1
property:
  path: terminal
  name: terminal
  description: Terminal
  datatype: string
  min count: 1
  max count: 1
property:
  path: at
  name: at
  description: Arrival time
  datatype: dateTime
  min count: 1
  max count: 1

departureShape
type: NodeShape
target class: departure
property:
  path: iataCode
  name: iata code
  description: IATA airport code
  datatype: string
  min count: 1
  max count: 1

queueShape
type: NodeShape
target class: queue
property:
  path: number
  name: number
  description: Queue number
  datatype: string
  max count: 1
property:
  path: category
  name: category
  description: Queue category
  datatype: string
  max count: 1

dataShape
type: NodeShape
target class: data
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  min count: 1
  max count: 1
  has value: flight-offers-upselling
property:
  path: flightOffers
  name: flight offers
  description: Flight offers
  node: FlightOfferShape
  class: FlightOffer
  node kind: BlankNodeOrIRI

analyticsShape
type: NodeShape
target class: analytics
property:
  path: travelers
  name: travelers
  description: Travelers data
  node: travelersShape
  class: travelers
  node kind: BlankNodeOrIRI
  max count: 1

travelersShape
type: NodeShape
target class: travelers
property:
  path: score
  name: score
  description: Traveler score
  datatype: int
  max count: 1

descriptionShape
type: NodeShape
target class: description
property:
  path: text
  name: text
  description: Description text
  datatype: string
  max count: 1
property:
  path: lang
  name: lang
  description: Language
  datatype: string
  max count: 1

arrivalShape
type: NodeShape
target class: arrival
property:
  path: iataCode
  name: iata code
  description: Arrival IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: terminal
  name: terminal
  description: Arrival terminal
  datatype: string
  max count: 1
property:
  path: at
  name: at
  description: Arrival date/time
  datatype: dateTime
  max count: 1

departureShape
type: NodeShape
target class: departure
property:
  path: iataCode
  name: iata code
  description: Departure IATA code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: terminal
  name: terminal
  description: Departure terminal
  datatype: string
  max count: 1
property:
  path: at
  name: at
  description: Departure date/time
  datatype: dateTime
  max count: 1

addresseeNameShape
type: NodeShape
target class: addresseeName
property:
  path: firstName
  name: first name
  description: First name
  datatype: string
  max count: 1
property:
  path: lastName
  name: last name
  description: Last name
  datatype: string
  max count: 1

descriptionShape
type: NodeShape
target class: description
property:
  path: text
  name: text
  description: Description text
  datatype: string
  max count: 1
property:
  path: lang
  name: lang
  description: Language
  datatype: string
  max count: 1

dataShape
type: NodeShape
target class: data
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  min count: 1
  max count: 1
  has value: flight-offers-prediction
property:
  path: flightOffers
  name: flight offers
  description: Flight offers to predict
  node: FlightOfferShape
  class: FlightOffer
  node kind: BlankNodeOrIRI

linksShape
type: NodeShape
target class: links
property:
  path: flightDestinations
  name: flight destinations
  datatype: string
  max count: 1
property:
  path: flightOffers
  name: flight offers
  datatype: string
  max count: 1

priceShape
type: NodeShape
target class: price
property:
  path: total
  name: total
  datatype: string
  max count: 1

linksShape
type: NodeShape
target class: links
property:
  path: flightDates
  name: flight dates
  datatype: string
  max count: 1
property:
  path: flightOffers
  name: flight offers
  datatype: string
  max count: 1

priceShape
type: NodeShape
target class: price
property:
  path: total
  name: total
  datatype: string
  max count: 1

aircraftEquipmentShape
type: NodeShape
target class: aircraftEquipment
property:
  path: aircraftType
  name: aircraft type
  description: Aircraft type code
  datatype: string
  max count: 1

dataShape
type: NodeShape
target class: data
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  min count: 1
  max count: 1
  has value: flight-offers-pricing
property:
  path: flightOffers
  name: flight offers
  description: Flight offers to price
  node: FlightOfferShape
  class: FlightOffer
  node kind: BlankNodeOrIRI

dataShape
type: NodeShape
target class: data
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  min count: 1
  max count: 1
  has value: flight-order
property:
  path: flightOffers
  name: flight offers
  description: Flight offers to book
  node: FlightOfferShape
  class: FlightOffer
  node kind: BlankNodeOrIRI
property:
  path: travelers
  name: travelers
  description: Travelers
  node: TravelerShape
  class: Traveler
  node kind: BlankNodeOrIRI
property:
  path: remarks
  name: remarks
  description: Remarks
  node: RemarksShape
  class: Remarks
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: ticketingAgreement
  name: ticketing agreement
  description: Ticketing agreement
  node: TicketingAgreementShape
  class: TicketingAgreement
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: contacts
  name: contacts
  description: Contacts
  node: ContactInfoShape
  class: ContactInfo
  node kind: BlankNodeOrIRI
property:
  path: formOfPayment
  name: form of payment
  description: Form of payment
  node: FormOfPaymentShape
  class: FormOfPayment
  node kind: BlankNodeOrIRI
  max count: 1

partnershipShape
type: NodeShape
target class: partnership
property:
  path: operatingFlight
  name: operating flight
  description: Operating flight
  node: operatingFlightShape
  class: operatingFlight
  node kind: BlankNodeOrIRI
  max count: 1

operatingFlightShape
type: NodeShape
target class: operatingFlight
property:
  path: carrierCode
  name: carrier code
  description: Carrier code
  datatype: string
  max count: 1
  min length: 2
  max length: 3
  pattern: ^[A-Z0-9]{2,3}$
property:
  path: flightNumber
  name: flight number
  description: Flight number
  datatype: int
  max count: 1

gateShape
type: NodeShape
target class: gate
property:
  path: mainGate
  name: main gate
  description: Main gate
  datatype: string
  max count: 1

terminalShape
type: NodeShape
target class: terminal
property:
  path: code
  name: code
  description: Terminal code
  datatype: string
  max count: 1

otherShape
type: NodeShape
target class: other
property:
  path: method
  name: method
  description: Payment method
  datatype: string
  max count: 1
  in: CASH
  in: CREDIT_CARD
  in: CHECK
property:
  path: flightOfferIds
  name: flight offer ids
  description: Flight offer IDs
  datatype: string

descriptionShape
type: NodeShape
target class: description
property:
  path: text
  name: text
  description: Description text
  datatype: string
  max count: 1
property:
  path: lang
  name: lang
  description: Language
  datatype: string
  max count: 1

descriptionShape
type: NodeShape
target class: description
property:
  path: lang
  name: lang
  description: Description language
  datatype: string
  max count: 1
property:
  path: text
  name: text
  description: Description text
  datatype: string
  max count: 1

dataShape
type: NodeShape
target class: data
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  max count: 1
  in: hotel-order
property:
  path: guests
  name: guests
  description: Guest information
  node: HotelGuestShape
  class: HotelGuest
  node kind: BlankNodeOrIRI
property:
  path: payments
  name: payments
  description: Payment information
  node: HotelPaymentShape
  class: HotelPayment
  node kind: BlankNodeOrIRI
property:
  path: rooms
  name: rooms
  description: Rooms to book
  node: HotelBookingRoomShape
  class: HotelBookingRoom
  node kind: BlankNodeOrIRI

dataShape
type: NodeShape
target class: data
property:
  path: offerId
  name: offer id
  description: Offer ID to book (2-100 alphanumeric characters)
  datatype: string
  min count: 1
  max count: 1
property:
  path: guests
  name: guests
  description: Guest information (1-99 guests, at least 1 required)
  node: HotelGuestShape
  class: HotelGuest
  node kind: BlankNodeOrIRI
property:
  path: payments
  name: payments
  description: Payment methods (1-9 payments, optional)
  node: HotelPaymentShape
  class: HotelPayment
  node kind: BlankNodeOrIRI
property:
  path: rooms
  name: rooms
  description: Room distribution matching shopping offer quantity (1-9 rooms, optional)
  node: HotelBookingRoomShape
  class: HotelBookingRoom
  node kind: BlankNodeOrIRI

dataShape
type: NodeShape
target class: data
property:
  path: type
  name: type
  description: Resource type
  datatype: string
  min count: 1
  max count: 1
  has value: hotel-order
property:
  path: guests
  name: guests
  description: Guest information
  node: HotelGuestShape
  class: HotelGuest
  node kind: BlankNodeOrIRI
property:
  path: rooms
  name: rooms
  description: Rooms
  node: HotelRoomSelectionShape
  class: HotelRoomSelection
  node kind: BlankNodeOrIRI
property:
  path: payment
  name: payment
  description: Payment information
  node: HotelOrderPaymentShape
  class: HotelOrderPayment
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: remarks
  name: remarks
  description: Remarks
  node: remarksShape
  class: remarks
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: travelAgent
  name: travel agent
  description: Travel agent information
  node: travelAgentShape
  class: travelAgent
  node kind: BlankNodeOrIRI
  max count: 1

remarksShape
type: NodeShape
target class: remarks
property:
  path: general
  name: general
  description: General remarks
  node: generalShape
  class: general
  node kind: BlankNodeOrIRI

generalShape
type: NodeShape
target class: general
property:
  path: text
  name: text
  description: Remark text
  datatype: string
  max count: 1

travelAgentShape
type: NodeShape
target class: travelAgent
property:
  path: contact
  name: contact
  description: Travel agent contact
  node: contactShape
  class: contact
  node kind: BlankNodeOrIRI
  max count: 1

contactShape
type: NodeShape
target class: contact
property:
  path: email
  name: email
  description: Email
  datatype: string
  max count: 1

paymentCardShape
type: NodeShape
target class: paymentCard
property:
  path: paymentCardInfo
  name: payment card info
  description: Payment card details
  node: paymentCardInfoShape
  class: paymentCardInfo
  node kind: BlankNodeOrIRI
  max count: 1
property:
  path: cardOwnerType
  name: card owner type
  description: Card owner type
  datatype: string
  max count: 1
property:
  path: VCC
  name: vcc
  description: Is virtual credit card
  datatype: boolean
  max count: 1

paymentCardInfoShape
type: NodeShape
target class: paymentCardInfo
property:
  path: vendorCode
  name: vendor code
  description: Card vendor code
  datatype: string
  max count: 1
property:
  path: holderName
  name: holder name
  description: Cardholder name
  datatype: string
  max count: 1
property:
  path: cardNumber
  name: card number
  description: Card number (masked)
  datatype: string
  max count: 1
property:
  path: expiryDate
  name: expiry date
  description: Expiry date
  datatype: string
  max count: 1

selfShape
type: NodeShape
target class: self
property:
  path: href
  name: href
  datatype: string
  min count: 1
  max count: 1
property:
  path: methods
  name: methods
  datatype: string
property:
  path: count
  name: count
  datatype: int
  max count: 1

descriptionShape
type: NodeShape
target class: description
property:
  path: text
  name: text
  description: Description text
  datatype: string
  max count: 1
property:
  path: lang
  name: lang
  description: Language
  datatype: string
  max count: 1

destinationShape
type: NodeShape
target class: destination
property:
  path: iataCode
  name: iata code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$

originShape
type: NodeShape
target class: origin
property:
  path: iataCode
  name: iata code
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$

averageShape
type: NodeShape
target class: average
property:
  path: base
  name: base
  description: Base average
  datatype: string
  max count: 1

descriptionShape
type: NodeShape
target class: description
property:
  path: text
  name: text
  description: Description text
  datatype: string
  max count: 1
property:
  path: lang
  name: lang
  description: Language code (BCP-47)
  datatype: string
  max count: 1

additionalInformationShape
type: NodeShape
target class: additionalInformation
property:
  path: chargeableCheckedBags
  name: chargeable checked bags
  datatype: boolean
  max count: 1
property:
  path: brandedFares
  name: branded fares
  datatype: boolean
  max count: 1

coordinatesShape
type: NodeShape
target class: coordinates
property:
  path: https://relay.inferal.com/ontology/amadeus/property/Amadeus.Seat.coordinates/x
  name: x
  datatype: int
  max count: 1
property:
  path: https://relay.inferal.com/ontology/amadeus/property/Amadeus.Seat.coordinates/y
  name: y
  datatype: int
  max count: 1

coordinatesShape
type: NodeShape
target class: coordinates
property:
  path: https://relay.inferal.com/ontology/amadeus/property/Amadeus.SeatFacility.coordinates/x
  name: x
  datatype: int
  max count: 1
property:
  path: https://relay.inferal.com/ontology/amadeus/property/Amadeus.SeatFacility.coordinates/y
  name: y
  datatype: int
  max count: 1

deckConfigurationShape
type: NodeShape
target class: deckConfiguration
property:
  path: width
  name: width
  description: Width in seats
  datatype: int
  max count: 1
property:
  path: length
  name: length
  description: Length in rows
  datatype: int
  max count: 1
property:
  path: startSeatRow
  name: start seat row
  description: Start seat row
  datatype: int
  max count: 1
property:
  path: endSeatRow
  name: end seat row
  description: End seat row
  datatype: int
  max count: 1
property:
  path: startWingSeatRow
  name: start wing seat row
  description: Start wing row
  datatype: int
  max count: 1
property:
  path: endWingSeatRow
  name: end wing seat row
  description: End wing row
  datatype: int
  max count: 1
property:
  path: exitRowsX
  name: exit rows x
  description: Exit rows
  datatype: int

priceShape
type: NodeShape
target class: price
property:
  path: currency
  name: currency
  datatype: string
  max count: 1
  min length: 3
  max length: 3
  pattern: ^[A-Z]{3}$
property:
  path: total
  name: total
  datatype: string
  max count: 1
property:
  path: base
  name: base
  datatype: string
  max count: 1
property:
  path: taxes
  name: taxes
  node: TaxShape
  class: Tax
  node kind: BlankNodeOrIRI

delaysShape
type: NodeShape
target class: delays
property:
  path: duration
  name: duration
  description: Duration
  datatype: string
  max count: 1

ContainerShape
type: NodeShape
target class: Container
property:
  path:
    inverse path: aircraft
  class: Dictionaries
  min count: 1
  max count: 1
property:
  path: entry
  node: EntryShape
  class: Entry
  node kind: BlankNodeOrIRI
sparql: SPARQLConstraint
  message: Record entry keys must be unique
  select: SELECT $this ?key WHERE { $this <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/aircraft/entry> ?left, ?right . FILTER(?left != ?right) ?left <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/aircraft/key> ?key . ?right <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/aircraft/key> ?key . }

EntryShape
type: NodeShape
target class: Entry
property:
  path:
    inverse path: entry
  class: Container
  min count: 1
  max count: 1
property:
  path: key
  datatype: string
  min count: 1
  max count: 1
property:
  path: value
  datatype: string
  min count: 1
  max count: 1

ContainerShape
type: NodeShape
target class: Container
property:
  path:
    inverse path: carriers
  class: Dictionaries
  min count: 1
  max count: 1
property:
  path: entry
  node: EntryShape
  class: Entry
  node kind: BlankNodeOrIRI
sparql: SPARQLConstraint
  message: Record entry keys must be unique
  select: SELECT $this ?key WHERE { $this <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/carriers/entry> ?left, ?right . FILTER(?left != ?right) ?left <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/carriers/key> ?key . ?right <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/carriers/key> ?key . }

EntryShape
type: NodeShape
target class: Entry
property:
  path:
    inverse path: entry
  class: Container
  min count: 1
  max count: 1
property:
  path: key
  datatype: string
  min count: 1
  max count: 1
property:
  path: value
  datatype: string
  min count: 1
  max count: 1

ContainerShape
type: NodeShape
target class: Container
property:
  path:
    inverse path: currencies
  class: Dictionaries
  min count: 1
  max count: 1
property:
  path: entry
  node: EntryShape
  class: Entry
  node kind: BlankNodeOrIRI
sparql: SPARQLConstraint
  message: Record entry keys must be unique
  select: SELECT $this ?key WHERE { $this <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/currencies/entry> ?left, ?right . FILTER(?left != ?right) ?left <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/currencies/key> ?key . ?right <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/currencies/key> ?key . }

EntryShape
type: NodeShape
target class: Entry
property:
  path:
    inverse path: entry
  class: Container
  min count: 1
  max count: 1
property:
  path: key
  datatype: string
  min count: 1
  max count: 1
property:
  path: value
  datatype: string
  min count: 1
  max count: 1

ContainerShape
type: NodeShape
target class: Container
property:
  path:
    inverse path: locations
  class: Dictionaries
  min count: 1
  max count: 1
property:
  path: entry
  node: EntryShape
  class: Entry
  node kind: BlankNodeOrIRI
sparql: SPARQLConstraint
  message: Record entry keys must be unique
  select: SELECT $this ?key WHERE { $this <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/locations/entry> ?left, ?right . FILTER(?left != ?right) ?left <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/locations/key> ?key . ?right <https://relay.inferal.com/ontology/amadeus/record/Amadeus.Dictionaries/locations/key> ?key . }

EntryShape
type: NodeShape
target class: Entry
property:
  path:
    inverse path: entry
  class: Container
  min count: 1
  max count: 1
property:
  path: key
  datatype: string
  min count: 1
  max count: 1
property:
  path: value
  node: LocationDictionaryEntryShape
  class: LocationDictionaryEntry
  node kind: BlankNodeOrIRI
  min count: 1
  max count: 1