@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix on: <https://test-vocab.trade-commons.org/object-nature/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix ts: <https://test-vocab.trade-commons.org/term-status/> .
@prefix unece: <https://test-vocab.trade-commons.org/> .
@prefix unece-mod: <https://test-vocab.trade-commons.org/module/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

unece:deliveryDate a owl:DatatypeProperty ;
    rdfs:label "delivery date"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "The date (agreed or actual) of delivery of the shipment."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes xsd:date ;
    unece:termStatus ts:proposed .

unece:deliveryLocation a owl:ObjectProperty ;
    rdfs:label "delivery location"@en ;
    rdfs:comment "brought back from BSP; attached to existing class (BSP home dissolved/niche)"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "The location at which this shipment is delivered."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes unece:Location ;
    unece:termStatus ts:proposed .

unece:description a owl:DatatypeProperty ;
    rdfs:label "description"@en ;
    rdfs:comment "Universal on entities (injected by the renderers); value objects that need it opt in via an explicit domain."@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "A textual description of an item."@en ;
    skos:exactMatch schema:description ;
    schema:domainIncludes unece:TradeItem,
        unece:TradePrice ;
    schema:rangeIncludes rdf:langString,
        xsd:string ;
    unece:termStatus ts:proposed .

unece:fulfilsTradeAgreement a owl:ObjectProperty ;
    rdfs:label "fulfils trade agreement"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "The trade agreement this shipment fulfils."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes unece:TradeAgreement ;
    unece:termStatus ts:proposed .

unece:identifier a owl:ObjectProperty ;
    rdfs:label "identifier"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:closeMatch schema:identifier ;
    skos:definition "An identifier of this entity within some scheme, as an Identifier value object; an entity may bear several (e.g. a GTIN and an internal SKU). Its own resolvable identity is the node URI (@id)."@en ;
    schema:rangeIncludes unece:Identifier ;
    unece:termStatus ts:proposed .

unece:includesPackage a owl:ObjectProperty ;
    rdfs:label "includes package"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "A shipment package within the shipment."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes unece:ShipmentPackage ;
    unece:termStatus ts:proposed .

unece:name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The name of an item."@en ;
    skos:exactMatch schema:name ;
    schema:domainIncludes unece:Identifier ;
    schema:rangeIncludes rdf:langString,
        xsd:string ;
    unece:termStatus ts:proposed .

unece:pickUpLocation a owl:ObjectProperty ;
    rdfs:label "pick-up location"@en ;
    dcterms:provenance "Proposed Vocab addition — not from BSP/UNTP; pending governance approval."@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "The location at which this shipment is collected for transport."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes unece:Location ;
    unece:termStatus ts:proposed .

unece:quantityVariationReason a owl:DatatypeProperty ;
    rdfs:label "quantity variation reason"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "A reason, expressed as text, for a quantity variation in this shipment."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:realisedBy a owl:ObjectProperty ;
    rdfs:label "realised by"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "A consignment that realises (physically transports) the shipment."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes unece:Consignment ;
    unece:termStatus ts:proposed .

unece:shipFrom a owl:ObjectProperty ;
    rdfs:label "ship from"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "The party the shipment is dispatched from."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes unece:Party ;
    unece:termStatus ts:proposed .

unece:shipTo a owl:ObjectProperty ;
    rdfs:label "ship to"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "The party the shipment is delivered to."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes unece:Party ;
    unece:termStatus ts:proposed .

unece:warehouseKeeper a owl:ObjectProperty ;
    rdfs:label "warehouse keeper"@en ;
    rdfs:comment "brought back from BSP (UNVTD grounding gap)"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "A party taking responsibility for goods stored in a warehouse for this shipment."@en ;
    schema:domainIncludes unece:Shipment ;
    schema:rangeIncludes unece:Party ;
    unece:termStatus ts:proposed .

unece:Shipment a owl:Class ;
    rdfs:label "Shipment"@en ;
    rdfs:isDefinedBy unece-mod:trade ;
    skos:definition "An identifiable collection of trade items transported together from seller (consignor) to buyer (consignee)."@en ;
    unece:objectNature on:entity ;
    unece:termStatus ts:proposed .

