{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/unece/UneceProductBatch",
	"title": "UneceProductBatch",
	"description": "A group of products considered or dealt with together.",
	"type": "object",
	"properties": {
		"@context": {
			"$ref": "https://schema.twindev.org/unece/UneceContextType",
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "ProductBatch",
			"description": "JSON-LD Type."
		},
		"applicableAssessment": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceAssessment"
			},
			"description": "An assessment applicable to this product batch."
		},
		"applicableDisposalInstructions": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceDisposalInstructions"
			},
			"description": "Disposal instructions applicable to this product batch."
		},
		"applicableFault": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSpecifiedFault"
			},
			"description": "A specified fault applicable to this product batch."
		},
		"applicablePeriod": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSpecifiedPeriod"
			},
			"description": "A specified period applicable to this product batch."
		},
		"applicableProductBatchCertification": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceProductBatchCertification"
			},
			"description": "A certification applicable to this product batch."
		},
		"applicableProductBatchCharacteristic": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceProductBatchCharacteristic"
			},
			"description": "A product batch characteristic applicable to this product batch."
		},
		"applicableSpecifiedCertificate": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSpecifiedCertificate"
			},
			"description": "A certificate applicable to this product batch."
		},
		"applicableSpecifiedInspection": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSpecifiedInspection"
			},
			"description": "A specified inspection applicable to this product batch."
		},
		"applicableSupplyChainPackaging": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSupplyChainPackaging"
			},
			"description": "Packaging applicable for use with this product batch."
		},
		"applicableSustainabilityInspection": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSustainabilityInspection"
			},
			"description": "A sustainability inspection applicable to this product batch."
		},
		"appliedAgriculturalApplication": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceAgriculturalApplication"
			},
			"description": "A specified agricultural application applied to this product batch."
		},
		"appliedChemicalTreatment": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSpecifiedChemicalTreatment"
			},
			"description": "A chemical treatment applied to this product batch."
		},
		"appliedProductFinishingTreatment": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceProductFinishingTreatment"
			},
			"description": "A product finishing treatment applied to this product batch."
		},
		"appliedTreatment": {
			"type": "string",
			"description": "A treatment, expressed as text, applied to this product batch."
		},
		"buyerAssignedId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "A buyer assigned identifier of this product batch."
		},
		"componentBatch": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceProductBatch"
			},
			"description": "A product batch component of this product batch."
		},
		"componentMaterial": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSpecifiedMaterial"
			},
			"description": "A specified material component of this product batch."
		},
		"componentProduct": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceTradeProduct"
			},
			"description": "A trade product component of this product batch."
		},
		"creationDateTime": {
			"type": "string",
			"description": "The date, time, date time or other date time value of the creation of this product batch.",
			"format": "date-time"
		},
		"dNAMarkerId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The DNA marker identifier of this product batch."
		},
		"description": {
			"type": "string",
			"description": "A textual description of this product batch."
		},
		"descriptionCode": {
			"type": "string",
			"description": "The code specifying the description of this product batch."
		},
		"globalId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "A global identifier of this product batch."
		},
		"grossVolumeMeasure": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceMeasureType"
			},
			"description": "A measure of the gross volume of this product batch."
		},
		"grossWeightMeasure": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceMeasureType"
			},
			"description": "A measure of the gross weight of this product batch."
		},
		"identifier": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The identifier for this product batch."
		},
		"manufacturerAssignedId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "A manufacturer assigned identifier of this product batch."
		},
		"massMeasure": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceMeasureType"
			},
			"description": "A measure of the mass of this product batch."
		},
		"massRatioMeasure": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceMeasureType"
			},
			"description": "A mass measure of this product batch expressed as a ratio to another mass, such as the total mass."
		},
		"maximumSizeMeasure": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceMeasureType"
			},
			"description": "A measure of the maximum size of this product batch."
		},
		"minimumSizeMeasure": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceMeasureType"
			},
			"description": "A measure of the minimum size of this product batch."
		},
		"name": {
			"type": "string",
			"description": "The name, expressed as text, of this product batch."
		},
		"netVolumeMeasure": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceMeasureType"
			},
			"description": "A measure of the net volume of this product batch."
		},
		"netWeightMeasure": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceMeasureType"
			},
			"description": "A measure of the net weight of this product batch."
		},
		"productName": {
			"type": "string",
			"description": "The product name, expressed as text, for this product batch."
		},
		"productionModeCode": {
			"type": "string",
			"description": "The code specifying the production mode for this product batch."
		},
		"sellerAssignedId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "A seller assigned identifier of this product batch."
		},
		"sizeMeasure": {
			"$ref": "https://schema.twindev.org/unece/UneceMeasureType",
			"description": "The size, expressed as a measure, for this product batch."
		},
		"specifiedAgriculturalCertificate": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceAgriculturalCertificate"
			},
			"description": "An agricultural certificate specified for this product batch."
		},
		"specifiedAgriculturalCharacteristic": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceAgriculturalCharacteristic"
			},
			"description": "An agricultural characteristic specified for this product batch."
		},
		"specifiedAssertion": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceAssertion"
			},
			"description": "A sustainability assertion specified for this product batch."
		},
		"specifiedDocument": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceDocument"
			},
			"description": "A referenced document specified for this product batch."
		},
		"specifiedLocation": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceLocation"
			},
			"description": "A referenced location specified for this product batch."
		},
		"specifiedNote": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceNote"
			},
			"description": "A note specified for this product batch."
		},
		"specifiedPicture": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UnecePicture"
			},
			"description": "A photographic picture specified for this product batch."
		},
		"specifiedProcess": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceProductionProcess"
			},
			"description": "A production process specified for this product batch."
		},
		"specifiedProductBatchCertificate": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceProductBatchCertificate"
			},
			"description": "A certificate specified for this product batch."
		},
		"specifiedProductBatchCharacteristic": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceProductBatchCharacteristic"
			},
			"description": "A product batch characteristic specified for this product batch."
		},
		"specifiedSupplyChainEvent": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSupplyChainEvent"
			},
			"description": "A supply chain event specified for this product batch."
		},
		"statusCode": {
			"type": "string",
			"description": "The code specifying the status of this product batch."
		},
		"typeCode": {
			"anyOf": [
				{
					"$ref": "https://schema.twindev.org/unece/UneceProductBatchTypeCodeList"
				},
				{
					"type": "string"
				}
			],
			"description": "The code specifying the type of product batch."
		},
		"unitQuantity": {
			"$ref": "https://schema.twindev.org/unece/UneceQuantityType",
			"description": "The number of units, expressed as a quantity, for this product batch."
		},
		"weightMeasure": {
			"$ref": "https://schema.twindev.org/unece/UneceMeasureType",
			"description": "The weight, expressed as a measure, for this product batch."
		}
	},
	"required": ["type"]
}
