Skyocean Ontology
type: Ontology
description: A specialized vocabulary for agricultural commodities trading in decentralized knowledge graphs
version info: 2.1.3
modified: 2026-05-04
issued: 2023-10-01
comment: The Skyocean Ontology is designed to facilitate global trade of agricultural commodities and traceable humanitarian donation programs with an emphasis on transparency, traceability, and efficient financing.
creator: Skyocean Team

incidentLocation
type: Property
comment: Where the incident occurred (UN/LOCODE port code, lat/long for in-transit, or place name).
domain: CargoIncident
range: string
term status: testing

financierProfitRate
type: Property
domain: FinancingRecord
range: decimal
term status: stable
comment: Profit rate for the financier

packaging
type: Property
comment: Description of how the commodity is packaged
term status: stable
domain: Commodity
range: string

humidityRange
type: Property
domain: ColdChainLog
comment: Min–max relative humidity range observed across the voyage (% RH).
range: string
term status: testing

samplingMethod
type: Property
term status: testing
comment: Sampling method used by the inspection agency (e.g., 'ISO 24333:2009, composite sample of 30 incremental samples per container').
range: string
domain: Document

method
type: Property
comment: Payment rail: stablecoin, revolut, sepa, swift, other
range: string
domain: DonationContribution
term status: testing

attestationType
type: Property
term status: testing
domain: InstitutionalAttestation
range: string
comment: Nature of the observation. Values: VesselCall, CargoHandling, CustomsClearance, QualityInspection, ConditionReading, Departure, PaymentConfirmation, IncidentReport, ClaimDecision, ComplianceVerification.

beneficialOwnershipKYCRef
type: Property
term status: testing
range: string
comment: Internal Skyocean reference to the beneficial-ownership KYC dossier for an institutional financier.

effectiveDate
type: Property
comment: Policy inception date.
range: date
term status: testing
domain: InsurancePolicy

hsCode
type: Property
term status: testing
domain: Commodity
domain: Document
range: string
comment: Harmonized System (HS) commodity classification code, used in customs declarations. Format like '0713.40.00'.

fundReceivingEntity
type: Property
range: TradeParty
term status: testing
comment: Skyocean operating entity that receives institutional capital under the trade-finance facility (e.g., Skyocean DOOEL, Skyocean Lithuania UAB).
domain: Trade

independentAttestorCount
type: Property
range: integer
domain: ConvergenceRecord
comment: Number of distinct attesting institutions, used as a proxy for independence of the convergence record.
term status: testing

packingList
type: Property
domain: DonationCampaign
comment: Campaign packing list (kits, quantities, specifications). Functional analog of a trade agreement in the core trading flow.
term status: testing
range: DonationKit

documents
type: Property
term status: stable
domain: TradePrivateData
range: Document
comment: Detailed document information

corridor
type: Property
term status: testing
comment: Trade corridor classification (e.g., 'Sudan', 'Ghana', 'EU').
range: string
domain: Trade

signingOfficer
type: Property
comment: Authorized signing officer for an institutional counterparty (name + role + DID).
term status: testing

expiryDate
type: Property
domain: InsurancePolicy
range: date
term status: testing
comment: Policy expiry date.

participant
type: Property
range: anyURI
domain: FinancingRecord
comment: DID of the participant in this FinancingRecord — institutional facility DID or retail-holder DID.
term status: testing

documentURL
type: Property
comment: Pointer to the original document file in private storage (e.g., S3 signed URL). Always private-tier — never appears in a Document KA's public assertion. Equivalent to schema:url qualified with skyocean:visibility 'private'.
term status: testing
domain: Document
range: anyURI

plotCentroid
type: Property
domain: ProductionPlot
range: string
comment: Centroid latitude/longitude of the plot, WGS84 — convenience field for indexing.
term status: testing

attestationCount
type: Property
comment: Total number of institutional attestations linked to the trade.
term status: testing
range: integer
domain: ConvergenceRecord

transactionTimeline
type: Property
comment: Timeline information for the transaction
term status: stable
domain: Trade

source
type: Property
term status: testing
comment: Financing-source descriptor on a FinancingRecord. Values: 'institutional-trade-finance-facility', 'retail-skyt-capacity-activation', 'mixed-pool', 'institutional-tfa' (Branch C).
domain: FinancingRecord
range: string

vesselIMO
type: Property
term status: testing
range: string
domain: LogisticsRecord
comment: IMO ship identification number (7 digits) under the IMO ship-identification scheme.

readingInterval
type: Property
comment: Logger sampling interval as ISO 8601 duration (e.g., 'PT15M' = 15 minutes).
domain: ColdChainLog
range: duration
term status: testing

financingAmount
type: Property
range: MonetaryAmount
comment: Amount of financing required
term status: stable
domain: PaymentDetails

confirmationReference
type: Property
term status: testing
range: string
domain: PaymentSource
comment: External reference or transaction ID from the payment source (e.g., MoMo txn ID, SWIFT MT103 reference, LC number).

voyage
type: Property
term status: testing
comment: Voyage reference issued by the carrier.
domain: LogisticsRecord
range: string

attestationSignature
type: Property
comment: Cryptographic signature or integrity hash of the attestation payload, used for audit and non-repudiation.
range: string
domain: InstitutionalAttestation
term status: testing

containerNumber
type: Property
term status: testing
range: string
domain: Document
comment: ISO 6346 container identifier (e.g., 'MEDU 4471001'). Per-container — distinct from skyocean:containerCount which counts the set. Cross-document join key for graph linkage between BL, Packing List, Phyto, SGS, Customs etc.

targetAmount
type: Property
comment: Funding goal for the campaign
range: MonetaryAmount
term status: testing
domain: DonationCampaign

sourceProvider
type: Property
range: string
domain: PaymentSource
comment: Specific provider or network that emitted the confirmation (e.g., 'MTN MoMo', 'GhIPSS', 'PAPSS', 'Deutsche Bank AG').
term status: testing

destination
type: Property
term status: testing
range: string
comment: Country of destination of the commodity.
domain: Commodity

consignedTo
type: Property
comment: Skyocean in-region entity that receives the goods on consignment (e.g. Skyocean Sudan for the Sudan pilot)
term status: testing
range: Party
domain: DonationCampaign

role
type: Property
term status: stable
domain: TradeParty
comment: Role of an entity in the trade
range: string

courseOverGround
type: Property
range: decimal
term status: testing
domain: VesselPosition
comment: Course over ground in degrees (COG, 0–359°).

grossWeight
type: Property
domain: Document
range: decimal
term status: testing
comment: Gross weight including packaging and pallets/dunnage, in kilograms. For cargo measurement; for full quantity context use schema:weight with QuantitativeValue.

claimNumber
type: Property
domain: InsuranceClaim
comment: Insurer-issued claim reference (private layer).
range: string
term status: testing

confirmedAmount
type: Property
range: MonetaryAmount
comment: Monetary amount the source confirms as settled.
term status: testing
domain: PaymentSource

sanctionsCheckRef
type: Property
term status: testing
comment: Internal reference to the sanctions screening record for a retail or institutional financier.
range: string

carrier
type: Property
comment: Carrier (shipping line) legal name.
term status: testing
range: string
domain: LogisticsRecord

paymentMethod
type: Property
comment: Method of payment (e.g., 'CAD' for Cash Against Documents)
term status: stable
domain: PaymentDetails
range: string

familiesServed
type: Property
range: integer
domain: DonationDistribution
comment: Private. Number of families who received kits in a distribution event
term status: testing

payoutAmount
type: Property
comment: Amount paid by the insurer (may differ from claim amount after surveyor adjustment and deductible).
term status: testing
domain: InsuranceClaim
range: MonetaryAmount

plotGeometry
type: Property
term status: testing
range: string
comment: GeoJSON polygon or multipolygon describing the plot boundary.
domain: ProductionPlot

lockedSKYT
type: Property
range: integer
comment: SKYT amount locked by an individual retail holder for this trade.
term status: testing
domain: FinancingRecord

contributorCount
type: Property
domain: DonorAggregateReceipt
domain: DonationCampaign
term status: testing
range: integer
comment: Number of contributors to the campaign
comment: Number of distinct contributors on the rail at the time of receipt issuance. Private-tier — donor identities never surface; counts may.

fundingSource
type: Property
domain: DonationCampaign
comment: One or more funding sources attached to the campaign — a wallet, bank account, or rail (Revolut, SEPA, SWIFT, stablecoin). Reuses skyocean:PaymentSource.
range: PaymentSource
term status: testing

lockedValue
type: Property
range: MonetaryAmount
comment: USD-equivalent value of the SKYT locked by an individual retail holder.
domain: FinancingRecord
term status: testing

attestorIdentity
type: Property
comment: Name or identifier of the specific institution (e.g., 'Port of Tema', 'Ghana Revenue Authority', 'SGS', 'MTN MoMo').
range: string
term status: testing
domain: InstitutionalAttestation

contract
type: Property
comment: Smart-contract address that issued the on-chain anchor (e.g., the SkyoceanTradeCore deployment).
term status: testing

beneficiaryReference
type: Property
comment: SWIFT MT103 Field 70 — reference for the beneficiary. Typically carries the trade ID + invoice reference.
domain: Document
domain: PaymentSource
range: string
term status: testing

kycRef
type: Property
comment: KYC attestation reference for the donor. Required for every contribution — no anonymous donations.
range: string
term status: testing
domain: DonationContribution

status
type: Property
domain: DonationCampaign
range: string
term status: testing
comment: Campaign status (Active, Funded, Procuring, Shipping, Delivered, Cancelled)

currentAmount
type: Property
term status: testing
range: MonetaryAmount
comment: Current funds received
domain: DonationCampaign

vessel
type: Property
comment: Vessel name (semantics align with GS1/DCSA vessel reference).
range: string
term status: testing
domain: LogisticsRecord

loggerSerial
type: Property
comment: Serial number of the temperature/humidity logger device (e.g., 'STM-44511-A').
domain: ColdChainLog
range: string
term status: testing

tradeType
type: Property
domain: Trade
comment: Trade-structure classification (e.g., 'self-consignment-CAD', 'EXW-then-CFR-twoLeg').
range: string
term status: testing

timeline
type: Property
comment: Trade-level timeline block carrying expected dates (origination, shipment, arrival, settlement). Properties are typically drawn from the trade: sub-namespace.
domain: Trade
term status: testing

campaignRef
type: Property
domain: DonationDistribution
domain: SupplyChainSignal
domain: DonationContribution
range: string
term status: testing
comment: Reference to the parent campaign by donation:campaignId (and optionally KA UAL). Applies to contributions, distributions and supply-chain signals.

bookingReference
type: Property
comment: Carrier booking reference (e.g., 'MSCU-BK-2026-00471'). Cross-document join key linking BL to PO and IOM consolidation manifest.
term status: testing
domain: Document
domain: LogisticsRecord
range: string

governmentIdRef
type: Property
comment: Internal Skyocean reference to the government-ID document record on file (the ID number itself is not stored as a literal).
range: string
term status: testing

lossExtent
type: Property
domain: CargoIncident
term status: testing
range: string
comment: Severity of loss. Values: Total, Partial, Constructive, Salvage, Marginal.

loadingPort
type: Property
term status: testing
comment: Port of loading (UN/LOCODE plus place name).
range: string
domain: LogisticsRecord

sealNumber
type: Property
domain: Document
comment: Tamper-evident seal number affixed to a container at loading. One per container. Cross-document join key.
term status: testing
range: string

indicativeCycleMargin
type: Property
domain: FinancingRecord
comment: Indicative trade-cycle margin descriptor (string with explicit not-guaranteed framing) — e.g., '~3.8% per ~55-day cycle (Sudan corridor; not guaranteed)'.
range: string
term status: testing

totalContractValue
type: Property
range: MonetaryAmount
term status: testing
comment: Total contract value (private layer).

eudrDDSReference
type: Property
range: string
domain: Document
term status: testing
comment: EU Information System reference number for the submitted EUDR Due Diligence Statement.

documentStatus
type: Property
comment: Status of a trade document
range: string
term status: stable
domain: Document

cycleDays
type: Property
domain: Trade
comment: Total cycle length in days (origination to settlement).
term status: testing
range: integer

kitsDistributed
type: Property
term status: testing
comment: Private. Number of kits delivered in a distribution event
domain: DonationDistribution
range: integer

jurisdictionOfResidence
type: Property
comment: ISO 3166 country code of a retail holder's jurisdiction of residence.
range: string
term status: testing

relatedTrade
type: Property
comment: Reference from a child KA (FinancingRecord, Document, etc.) back to its parent Trade KA.
term status: testing
range: Trade

operationalCostBreakdown
type: Property
term status: testing
comment: Private detailed operational cost breakdown (freight, customs, insurance, last-mile logistics, platform & ops)
range: MonetaryAmount
domain: DonationCampaignPrivate

surveyorRef
type: Property
domain: CargoIncident
comment: Reference to the InstitutionalAttestation issued by the independent loss adjuster / surveyor (attestorType: InspectionAgency, attestationType: IncidentReport).
term status: testing
range: InstitutionalAttestation

signalType
type: Property
range: string
domain: SupplyChainSignal
term status: testing
comment: Type of supply chain signal (IoT-Temperature, IoT-GPS, PartnerConfirmation, FieldReport, Verification)

paymentTrigger
type: Property
range: string
comment: Payment-trigger classification used by the smart contract's _checkPaymentConditions evaluator. Values: 'OnDocumentsVerified', 'OnArrival', 'OnLoading', 'Manual'.
domain: Trade
term status: testing

insuredValue
type: Property
term status: testing
domain: Document
domain: InsurancePolicy
comment: Insured value declared on the marine cargo / war-risk policy, typically 110% of CIF/CFR per ICC(A) standard. Use schema:price with currency for the JSON-LD value object.
range: decimal

qualityParameters
type: Property
range: string
term status: testing
comment: Composite quality test results (parameter, measured value, spec, pass/fail). Free-form string in v2.1.3; future versions may model as a structured assertion.
domain: Document

onChainAnchor
type: Property
domain: Trade
term status: testing
comment: Composite block on a Trade describing its on-chain anchor — network, contract address, transaction hash. Optional and additive to skyocean:blockchainTransactionId.

convergenceRecord
type: Property
comment: Reference from a Trade to its ConvergenceRecord (or records, when multiple convergence events occur in a trade's lifecycle).
range: ConvergenceRecord
term status: testing
domain: Trade

expectedSettlementDate
type: Property
comment: Expected settlement (trade-completion) date.
range: date
term status: testing

policyNumber
type: Property
range: string
comment: Insurer-issued policy reference (private layer — typically PII-adjacent).
domain: InsurancePolicy
term status: testing

percentageOfTotal
type: Property
term status: testing
comment: Share of total trade financing as a decimal (0.0–1.0).
domain: FinancingRecord
range: decimal

exactPricing
type: Property
comment: Wrapper carrying exact contract pricing (unit price + total contract value) on the private trade KA.
term status: testing
domain: TradePrivateData

treatmentMethod
type: Property
domain: Document
comment: Phytosanitary / disinfestation treatment method applied to the cargo (e.g., 'Methyl bromide fumigation, 48 mg/L for 24 h at 21°C').
range: string
term status: testing

tier
type: Property
domain: FinancingRecord
range: integer
comment: Retail holder tier classification per Skyocean's tier model.
term status: testing

attestationTimestamp
type: Property
range: dateTime
term status: testing
comment: Time at which the attesting institution recorded the event.
domain: InstitutionalAttestation

verifiedBy
type: Property
domain: DonationDistribution
comment: State official, NGO or partner witness who confirmed distribution
range: Party
term status: testing

facilityTermsRef
type: Property
comment: Reference to the executed Trade Finance Agreement governing an institutional FinancingRecord.
term status: testing
range: string

origin
type: Property
domain: Commodity
comment: Country of origin of the commodity (ISO 3166 country name or code).
term status: testing
range: string

onChainTxHash
type: Property
term status: testing
domain: DonationContribution
comment: On-chain transaction hash for stablecoin contributions
range: string

requiredDocumentTypes
type: Property
term status: stable
comment: Types of documents required for the trade
domain: Trade

deductible
type: Property
term status: testing
comment: Self-insured retention before the policy responds.
domain: InsurancePolicy
range: MonetaryAmount

containerCount
type: Property
range: integer
domain: LogisticsRecord
term status: testing
comment: Total container count for the shipping leg.

paymentTerms
type: Property
domain: PaymentDetails
term status: stable
range: string
comment: Terms of payment

positionPingCount
type: Property
domain: Document
term status: testing
comment: Total number of AIS position pings captured for a tracked voyage. Used in the AIS feed Document KA to summarize feed density.
range: integer

financingRecords
type: Property
range: FinancingRecord
comment: Reference from a Trade to one or more FinancingRecord KAs (institutional + retail per-holder).
term status: testing
domain: Trade

temperatureExcursion
type: Property
comment: Number of temperature excursion events outside spec tolerance during the voyage. 0 = within tolerance.
term status: testing
range: integer
domain: ColdChainLog

claimStatus
type: Property
domain: InsuranceClaim
range: string
comment: Status of the claim. Values: Filed, Acknowledged, UnderInvestigation, Approved, PartiallyApproved, Denied, Settled, Withdrawn.
term status: testing

tradeRef
type: Property
term status: testing
domain: InstitutionalAttestation
comment: Reference to the Trade KA this attestation contributes to.
range: anyURI

incidentDescription
type: Property
domain: CargoIncident
range: string
comment: Short descriptor of what happened (the private layer carries the full surveyor report text).
term status: testing

attestationRef
type: Property
comment: Reference to an independent institutional attestation (customs, inspection, partner NGO) that feeds the convergence evaluator
term status: testing
range: InstitutionalAttestation
domain: DonationDistribution

walletAddress
type: Property
comment: Blockchain wallet address
domain: TradeParty
range: string
term status: stable

blockchainStatus
type: Property
range: string
term status: stable
comment: Status of the trade on the blockchain
domain: Trade

claimAmount
type: Property
range: MonetaryAmount
term status: testing
comment: Amount claimed by the policyholder.
domain: InsuranceClaim

totalSKYTLocked
type: Property
domain: FinancingRecord
range: integer
comment: Aggregate SKYT amount locked in a retail-pool FinancingRecord.
term status: testing

treatmentDate
type: Property
comment: Date the phytosanitary / disinfestation treatment was applied.
range: date
term status: testing
domain: Document

navStatus
type: Property
domain: VesselPosition
term status: testing
range: string
comment: AIS navigational status (e.g., 'Underway using engine', 'At anchor', 'Moored').

billOfLading
type: Property
range: string
term status: testing
domain: LogisticsRecord
comment: Bill of Lading reference number issued by the carrier.

incidentType
type: Property
comment: Nature of the incident. Values: Damage, Loss, Theft, Contamination, Delay, Casualty, GeneralAverage, Quarantine.
term status: testing
domain: CargoIncident
range: string

deliveryStatus
type: Property
range: string
comment: Public delivery outcome: delivered, partially-delivered, not-delivered, plus recipient category
term status: testing
domain: DonationDistribution

governmentIdType
type: Property
range: string
term status: testing
comment: Type of government ID document on file for a retail holder. Values: 'passport', 'national-id', 'driver-licence'.

notifyParty
type: Property
domain: TradePrivateData
range: TradeParty
term status: stable
comment: Party to be notified

commodity
type: Property
range: Commodity
domain: Trade
term status: stable
comment: The commodity being traded

sumInsured
type: Property
term status: testing
comment: Maximum insured value under the policy.
domain: InsurancePolicy
range: MonetaryAmount

logistics
type: Property
range: LogisticsRecord
comment: Reference from a Trade to its LogisticsRecord.
term status: testing
domain: Trade

costSummary
type: Property
range: MonetaryAmount
comment: Public top-level cost summary surfaced to donors (e.g. kits vs operations)
domain: DonationCampaign
term status: testing

sourceType
type: Property
term status: testing
range: string
comment: Classification of the payment signal source. Values: MobileMoney, NationalSwitch, RegionalSettlement, SWIFT, LetterOfCredit, CashAgainstDocuments, OnChainEscrow, HumanAttested.
domain: PaymentSource

imoNumber
type: Property
range: string
domain: LogisticsRecord
domain: Document
comment: IMO (International Maritime Organization) number — globally-unique 7-digit vessel identifier.
term status: testing

quantity
type: Property
term status: testing
range: QuantitativeValue
comment: Quantity of the commodity (with schema:unitCode).
domain: Commodity

cutoffCompliance
type: Property
term status: testing
comment: Verification that a production plot was deforestation-free as of the EUDR cut-off date (31 December 2020) per remote-sensing analysis. Values: 'Verified', 'NotVerified', 'AtRisk'.
range: string
domain: ProductionPlot

productionDetails
type: Property
comment: Production method, origin, and other sensitive details
term status: stable
domain: Commodity

capitalProvided
type: Property
domain: FinancingRecord
range: MonetaryAmount
comment: Capital amount provided by this participant (or retail-pool aggregate).
term status: testing

consensusStatus
type: Property
domain: ConvergenceRecord
range: string
term status: testing
comment: Qualitative label derived from verificationStrength. Values: Insufficient, Partial, Strong, Full.

lotReference
type: Property
domain: Document
range: string
comment: Production lot reference (e.g., 'AR-LOT-2026-00471'). Cross-document join key linking supplier invoice, packing list, phytosanitary, and quality cert.
term status: testing

fundingBranch
type: Property
domain: Trade
comment: Funding-branch classification per full-trade-flow.md. Values: 'A' (retail-only on-chain), 'B' (mixed institutional + retail on-chain), 'C' (institutional-only off-chain, no smart contract).
range: string
term status: testing

verificationStatus
type: Property
comment: Verification status of a document
domain: Document
range: string
term status: stable

dischargePort
type: Property
range: string
domain: LogisticsRecord
term status: testing
comment: Port of discharge (UN/LOCODE plus place name).

sourceOfFunds
type: Property
domain: DonationCampaign
comment: Public-tier description of which receiving rails the campaign accepts (e.g., 'Stablecoin receiving wallet (USDC/USDT) · SEPA donation account · SWIFT correspondent'). Reveals channels, not donor identities.
range: string
term status: testing

loggerModel
type: Property
term status: testing
range: string
domain: ColdChainLog
comment: Model designation of the data logger device (e.g., 'Sensitech TempTale GEO 4').

swiftUETR
type: Property
range: string
domain: PaymentSource
domain: Document
comment: Unique End-to-end Transaction Reference (UETR) from a SWIFT MT103 message — UUID format. Cross-document join key linking inbound payment confirmation to invoice and PO.
term status: testing

consignee
type: Property
term status: stable
range: TradeParty
comment: Consignee information
domain: TradePrivateData

tradeStatus
type: Property
comment: Current status of the trade transaction
range: string
domain: Trade
term status: stable

expectedArrivalDate
type: Property
range: date
term status: testing
comment: Expected arrival date at discharge port.

txHash
type: Property
term status: testing
comment: Transaction hash of the createTrade call that issued the bytes32 tradeId. Distinct from skyocean:blockchainTransactionId, which is the tradeId itself.

certifications
type: Property
domain: Commodity
comment: List of certifications or standards the commodity meets
term status: stable

containerType
type: Property
term status: testing
comment: Container type description (e.g., '40-ft HC', 'flexitank-equipped 20-ft').
range: string
domain: LogisticsRecord

payment
type: Property
domain: TradePrivateData
term status: stable
comment: Payment and financing details
range: PaymentDetails

edifactMessageType
type: Property
range: string
comment: EDIFACT message type used in the customs filing (e.g., 'CUSDEC', 'CUSRES', 'CUSCAR', 'IFTSTA', 'COARRI', 'COPRAR', 'CODECO').
domain: Document
term status: testing

participantLEI
type: Property
term status: testing
domain: FinancingRecord
range: string
comment: ISO 17442 Legal Entity Identifier for an institutional participant (where applicable).

tradeLegs
type: Property
term status: testing
comment: Ordered list of leg identifiers for a multi-leg trade (e.g., ['origin', 'export'] for an EXW-then-CFR cocoa-style structure). Single-leg trades typically omit this property.
domain: Trade

campaignOperator
type: Property
term status: testing
domain: DonationCampaign
range: TradeParty
comment: Skyocean operating entity that operates the donation campaign (e.g., Skyocean DOOEL — campaign operator and fund-receiving entity). Distinct from the consignee that takes title in the destination country.

grade
type: Property
comment: Quality grade of the commodity
domain: Commodity
range: string
term status: stable

coverageType
type: Property
range: string
term status: testing
comment: Type of insurance coverage. Values: Cargo, WarRisk, AllRisk, NamedPerils, Strike, ContingencyAndDelay.
domain: InsurancePolicy

region
type: Property
term status: testing
domain: DonationCampaign
range: string
comment: Target distribution region

campaignId
type: Property
comment: Canonical anchor identifier for the campaign, issued by the Skyocean backend (e.g. CMP-2026-SUD-001). Stable across on-chain and off-chain campaigns.
term status: testing
domain: DonationCampaign
range: string

senderReference
type: Property
domain: Document
domain: PaymentSource
comment: SWIFT MT103 Field 20 — sender's transaction reference. Often carries the buyer's PO number.
range: string
term status: testing

temperatureRange
type: Property
range: string
comment: Min–max temperature range observed across the voyage, in degrees Celsius.
domain: ColdChainLog
term status: testing

expectedShipmentDate
type: Property
range: date
term status: testing
comment: Expected shipment date.

referenceId
type: Property
domain: TradePrivateData
comment: Reference to the public section URI
term status: stable
range: anyURI

buyerDetails
type: Property
comment: Wrapper carrying full buyer identification.
domain: TradePrivateData
term status: testing

positionTimestamp
type: Property
comment: Timestamp of the AIS position report (ISO 8601 UTC).
range: dateTime
term status: testing
domain: VesselPosition

edifactStatus
type: Property
range: string
domain: Document
comment: Outcome reference of the EDIFACT exchange (e.g., the response message ID or 'CUSRES accepted').
term status: testing

aggregateAmount
type: Property
domain: DonorAggregateReceipt
term status: testing
comment: Total contribution amount across the rail at the time of receipt issuance.
range: decimal

detailedSpecifications
type: Property
comment: Detailed technical specifications with thresholds
domain: Commodity
term status: stable

speedOverGround
type: Property
comment: Speed over ground in knots (SOG).
range: decimal
term status: testing
domain: VesselPosition

netWeight
type: Property
range: decimal
term status: testing
domain: Document
comment: Net weight of the cargo itself, excluding packaging, in kilograms.

blockchainTransactionId
type: Property
domain: Trade
term status: stable
comment: Transaction ID on the blockchain
range: string

affectedQuantity
type: Property
comment: Quantity of cargo affected (with unit code).
range: QuantitativeValue
term status: testing
domain: CargoIncident

payoutDate
type: Property
range: date
comment: Date funds were credited to the policyholder.
domain: InsuranceClaim
term status: testing

bankingDetails
type: Property
term status: testing
domain: TradePrivateData
comment: Wrapper carrying banking detail (schema:bankName, BIC/SWIFT identifier, schema:accountId).

specifications
type: Property
domain: Commodity
term status: stable
comment: Technical specifications of the commodity

mmsiNumber
type: Property
comment: MMSI (Maritime Mobile Service Identity) — 9-digit vessel radio identifier used by AIS feeds.
range: string
domain: LogisticsRecord
domain: Document
term status: testing

paymentSource
type: Property
comment: Reference from a Trade to one or more PaymentSource KAs that confirm settlement on this trade.
term status: testing
range: PaymentSource
domain: Trade

originatedAt
type: Property
term status: testing
comment: Date the trade was originated in the Skyocean platform.

shipper
type: Property
comment: Skyocean operating entity in the country of origin (Bill of Lading 'From'). Distinct from the legal Seller and from the fund-receiving entity.
term status: testing
range: TradeParty
domain: Trade

verificationStrength
type: Property
comment: Computed score (0.0–1.0) summarising how strongly the trade is corroborated by independent institutional attestations.
range: decimal
term status: testing
domain: ConvergenceRecord

incidentRef
type: Property
range: CargoIncident
domain: InsuranceClaim
comment: Reference to the CargoIncident triggering the claim.
term status: testing

walletProvenance
type: Property
range: string
comment: Internal reference to a verified-wallet KYC linkage record for a retail holder.
term status: testing

policyRef
type: Property
comment: Reference to the InsurancePolicy under which this claim is filed.
domain: InsuranceClaim
term status: testing
range: InsurancePolicy

positionLat
type: Property
comment: Latitude in decimal degrees, WGS84.
domain: VesselPosition
term status: testing
range: decimal

incidentDate
type: Property
range: dateTime
domain: CargoIncident
comment: Date and time the incident was reported or discovered.
term status: testing

targetBeneficiaries
type: Property
domain: DonationCampaign
term status: testing
comment: Target number of families to be served
range: integer

eudrOperator
type: Property
comment: Legal entity acting as the EUDR Operator that places the relevant commodity on the EU market and submits the Due Diligence Statement under Regulation (EU) 2023/1115.
term status: testing
range: TradeParty
domain: Document

contributionRail
type: Property
range: string
term status: testing
domain: DonationContribution
domain: DonorAggregateReceipt
comment: The receiving rail used for an aggregate or single contribution: 'stablecoin', 'sepa', 'swift', 'revolut'.

campaignWallet
type: Property
comment: Optional EVM wallet address (e.g. Polygon) when the campaign has an on-chain funding source. Not the anchor identifier — some campaigns are fully off-chain.
domain: DonationCampaign
range: string
term status: testing

participantDetails
type: Property
term status: testing
comment: Wrapper carrying full participant identification on a private FinancingRecord (institutional or retail).

amlCheckRef
type: Property
comment: Internal reference to the AML clearance record for a retail or institutional financier.
range: string
term status: testing

supplierDetails
type: Property
domain: TradePrivateData
comment: Wrapper carrying full supplier identification (schema:legalName, schema:address, schema:taxID, contact).
term status: testing

positionLon
type: Property
comment: Longitude in decimal degrees, WGS84.
domain: VesselPosition
range: decimal
term status: testing

financingRequired
type: Property
term status: stable
domain: PaymentDetails
comment: Whether financing is required for the trade
range: boolean

insurer
type: Property
range: TradeParty
comment: Insurer or syndicate underwriting the policy (e.g., 'Lloyd's of London correspondent', 'Munich Re').
term status: testing
domain: InsurancePolicy

attestorType
type: Property
domain: InstitutionalAttestation
range: string
term status: testing
comment: Category of institution making the attestation. Values: PortAuthority, CustomsAuthority, InspectionAgency, Carrier, ConditionMonitor, PaymentRail, FinancialInstitution, Human.

settlementAccount
type: Property
term status: testing
comment: Wrapper carrying the institutional financier's settlement account detail on the private FinancingRecord.

network
type: Property
comment: Blockchain network identifier (e.g., 'polygon', 'polygon-mumbai').
term status: testing

premiumAmount
type: Property
comment: Premium paid to bind the policy. Use schema:price with currency for the JSON-LD value object.
domain: Document
domain: InsurancePolicy
range: decimal
term status: testing

vesselName
type: Property
range: string
domain: LogisticsRecord
domain: Document
term status: testing
comment: Vessel name (e.g., 'MV BALTIC TRADER'). Use schema:name on a schema:Vehicle subclass when expressing in JSON-LD with schema.org context.

documentStatuses
type: Property
domain: Trade
term status: stable
comment: Status information for required documents

financingStatus
type: Property
range: string
domain: Trade
term status: stable
comment: Current status of trade financing

participantCount
type: Property
range: integer
domain: FinancingRecord
comment: Number of distinct participants (used on retail-pool FinancingRecord roll-ups).
term status: testing

accessPermissions
type: Property
domain: TradePrivateData
term status: stable
comment: Access control permissions

paymentSource
type: Property
term status: testing
domain: DonationContribution
comment: Rail-specific payment record (provider, reference, institutional flag) reused from the core Skyocean payments module
range: PaymentSource

DonationContribution
type: Class
comment: A single donor contribution to a campaign, via stablecoin or bank transfer
term status: testing

ProductionPlot
type: Class
term status: testing
comment: A geolocated plot of land where a regulated commodity (e.g., cocoa, coffee, palm oil, soy) was produced. Required under EUDR for parcel-level traceability. Geometry expressed via GeoJSON polygon and centroid.

PaymentSource
type: Class
subclass of: InstitutionalAttestation
comment: A record of an external signal confirming that payment has occurred, decoupled from the underlying rail. The same class represents signals from mobile money, national payment switches, regional settlement systems, SWIFT, letters of credit, cash-against-documents arrangements, on-chain escrow, and human-attested confirmations. Subclass of InstitutionalAttestation when the source is an institution.
term status: testing

CargoIncident
type: Class
term status: testing
comment: An event affecting cargo that may trigger an insurance claim — damage, loss, theft, contamination, delay, casualty. The CargoIncident KA captures what happened, where, when, and to what extent, attested by an independent surveyor and/or the responsible custodian (port, carrier).

PaymentDetails
type: Class
comment: Details of payment and financing arrangements for a trade
term status: stable

VesselPosition
type: Class
term status: testing
comment: A single AIS position report from a vessel during a tracked voyage. A continuous AIS feed comprises many VesselPosition assertions.

InsurancePolicy
type: Class
term status: testing
subclass of: Document
comment: A cargo or marine insurance policy bound to one or more trades. Subclass of Document — the policy is itself a tradeable instrument with status, parties, and references — but carries dedicated insurance-specific properties.

SupplyChainSignal
type: Class
comment: Real-time signals from IoT sensors, partner confirmations, or field reports linked to a campaign
term status: testing

BlockchainTransaction
type: Class
comment: Records of trade events recorded on the blockchain
term status: stable

CommodityTrade
type: Class
comment: A specialized trade of agricultural commodities
term status: stable
subclass of: Trade

FinancingRecord
type: Class
term status: stable
comment: Details of trade financing arrangements and token positions

Trade
type: Class
term status: stable
comment: The core class representing a complete trade transaction between parties in the Skyocean ecosystem.

DonationKit
type: Class
term status: testing
comment: Specification of a kit's contents — food, medicine, prevention items — with quantities and sourcing details

TradeParty
type: Class
term status: stable
comment: Entities involved in a trade transaction (buyer, seller, consignee, etc.)

Commodity
type: Class
comment: Represents physical agricultural goods being traded in the Skyocean ecosystem
term status: stable

ColdChainLog
type: Class
term status: testing
comment: Container-level temperature + humidity telemetry log captured by an in-container data logger across a voyage.

TradePrivateData
type: Class
term status: stable
comment: Private data related to a trade transaction

InsuranceClaim
type: Class
term status: testing
comment: A formal claim filed against an InsurancePolicy in respect of a CargoIncident. Carries claim status, claimed amount, surveyor's loss assessment, insurer's decision, and payout details.

LogisticsRecord
type: Class
comment: A summary of the logistics for a shipping leg of a trade — vessel, voyage, carrier, loading and discharge ports, BL reference, and container details. Attaches to a Trade via skyocean:logistics.
term status: testing

InstitutionalAttestation
type: Class
comment: An independent observation by an operational institution (port authority, customs authority, inspection agency, carrier, condition monitor, payment rail, financial institution, or human verifier) about a trade event. Each attestation is recorded as a Knowledge Asset and feeds the convergence record for its trade.
term status: testing

DistributionObservation
type: Class
comment: Independent observation of a donation distribution event by an external NGO or partner agency (e.g., IOM Sudan country office). Distinct from donation:DonationDistribution which is the operational delivery record; this class captures the third-party witness.
term status: testing

DonationDistribution
type: Class
comment: A delivery event recording kits distributed to beneficiaries, verified by state officials
term status: testing

PublicTradeOverview
type: Class
comment: A typeable marker class indicating that a Trade KA is intended as a public-overview assertion (paired with a private TradePrivateData KA). Used as a secondary @type alongside skyocean:CommodityTrade.
term status: testing

DonationCampaign
type: Class
term status: testing
comment: A bounded humanitarian-aid campaign with a packing list, target amount, and delivery timeline. Identified by a backend-issued donation:campaignId (e.g. CMP-2026-SUD-001). Funding sources (wallets and/or bank accounts) are attached to the campaign and do not serve as its anchor.

ConvergenceRecord
type: Class
term status: testing
comment: The aggregate cross-validated state of a trade, constructed from the convergence of independent institutional attestations. Used to compute verification strength without a single central validator.

DonorAggregateReceipt
type: Class
comment: Per-rail aggregate of donor contributions for a campaign (e.g., total stablecoin / SEPA / SWIFT for CMP-2026-SUD-001). Issued continuously as contributions arrive; final aggregate at campaign close. Public-tier shows totals; private-tier links per-contribution detail.
term status: testing

DonationCampaignPrivate
type: Class
term status: testing
comment: Private assertion data for a campaign: supplier details, distribution plan, bank account, and access permissions

LastMileAcknowledgment
type: Class
comment: Distribution acknowledgment from the in-region last-mile coordinator (e.g., Khartoum State Ministry of Social Welfare). State-authority sign-off on receipt and onward distribution to identified beneficiary households.
term status: testing

Document
type: Class
comment: Trade-related documentation including their verification status
term status: stable