IATA-Cargo / ONE-Record

This repository contains the documentation & specs for the ONE Record standard.
https://iata-cargo.github.io/ONE-Record/
MIT License
103 stars 53 forks source link

Loop - BookingOptionRequest - BookingSegment - BookingOption - carrierProduct - BookingOption #154

Closed LauraWeissgerber closed 8 months ago

LauraWeissgerber commented 2 years ago

Curently we have a loop BookingOptionRequest - BookingSegment - BookingOption - carrierProduct - BookingOption

As is today: { "@context": { "iata": "https://onerecord.iata.org/" }, "@type": "iata:CarrierProduct", "iata:carrierProduct:bookingOption" : { "@id": "iata:BookingOption/thisObjectId", "@type": "iata:BookingOption" }, "iata:carrierProduct:productCode" : "string", "iata:carrierProduct:productDescription" : "string" }

Proposal: { "@context": { "iata": "https://onerecord.iata.org/" }, "@type": "iata:CarrierProduct", "iata:carrierProduct:productCode" : "string", "iata:carrierProduct:productDescription" : "string" }

lambertciata commented 2 years ago

Hi,

The ontology defines potential links between objects, it does not mean that in practice there will be objects.

The idea of having a link from BookingOption and CarrierProduct and the other way around is to be able to go both ways. However in this case it is arguable that the link from CarrierProduct to BookingOption is necessary. This is part of the current discussions we have about Linked vs. Embedded data.

Then BookingSegment object is linked to both BookingOptionRequest and BookingOption but that does not mean we are talking about the same instance of the object.

lambertciata commented 8 months ago

Cleared, it's part of linked data principle