{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/unece/UneceNegotiationExchange",
	"title": "UneceNegotiationExchange",
	"description": "An offer exchanged between parties for an electronic negotiation.",
	"type": "object",
	"properties": {
		"@context": {
			"$ref": "https://schema.twindev.org/unece/UneceContextType",
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "NegotiationExchange",
			"description": "JSON-LD Type."
		},
		"protocolTypeCode": {
			"type": "string",
			"description": "The code specifying the type of the protocol for this electronic negotiation exchange, such as Alternating Offer\nProtocol, Continuous Offer Protocol, Withdrawable Alternating Offer Protocol, Withdrawable Continuous Offer Protocol."
		},
		"responseDueDateTime": {
			"type": "string",
			"description": "The date or date time value when the response is due for this electronic negotiation exchange.",
			"format": "date-time"
		},
		"sequenceNumeric": {
			"type": "string",
			"description": "The sequence number for this electronic negotiation exchange."
		},
		"sessionId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The identifier of the session for this electronic negotiation exchange."
		},
		"specifiedContext": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceNegotiationContext"
			},
			"description": "A context specified for this electronic negotiation exchange."
		},
		"specifiedIssue": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceIssue"
			},
			"description": "A target issue specified for this electronic negotiation exchange."
		},
		"typeCode": {
			"type": "string",
			"description": "The code specifying the type of electronic negotiation exchange, such as prerequisite, offer, suggestion or withdrawal."
		}
	},
	"required": ["type", "sessionId"]
}
