{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/dcsa/DcsaEventMetadataBase",
	"title": "DcsaEventMetadataBase",
	"description": "Event metadata.\n\nSource: `metadata` schema in the DCSA Event Domain (v3.1.0).",
	"type": "object",
	"properties": {
		"eventID": {
			"type": "string",
			"description": "The unique identifier for this event message (not the source system)."
		},
		"eventCreatedDateTime": {
			"type": "string",
			"description": "Timestamp of when the event was created by the publisher.\nFormat: ISO 8601 date-time."
		},
		"publisher": {
			"$ref": "https://schema.twindev.org/dcsa/DcsaPublisher",
			"description": "The party publishing this event."
		},
		"publisherRole": {
			"$ref": "https://schema.twindev.org/dcsa/DcsaTntPublisherRole",
			"description": "Publisher role (context of the publisher).\nFor Track & Trace events, this is the `tntPublisherRole` code list."
		},
		"eventType": {
			"$ref": "https://schema.twindev.org/dcsa/DcsaEventTypes",
			"description": "Event type discriminator.\n\nFor the base `event` schema (T&T polling), the discriminator is limited to\nSHIPMENT/EQUIPMENT/TRANSPORT and is further narrowed by the concrete event union types.\nOther event hub schemas (e.g. IoT/Reefer) constrain this to IOT/REEFER."
		}
	},
	"required": ["eventID", "eventCreatedDateTime", "publisher", "publisherRole", "eventType"]
}
