{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/unece/UnecePaymentMeans",
	"title": "UnecePaymentMeans",
	"description": "The means by which a payment will be or has been made for trade settlement purposes.",
	"type": "object",
	"properties": {
		"@context": {
			"$ref": "https://schema.twindev.org/unece/UneceContextType",
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "PaymentMeans",
			"description": "JSON-LD Type."
		},
		"applicableFinancialCard": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceFinancialCard"
			},
			"description": "A financial card applicable to this trade settlement payment means."
		},
		"creditorSpecifiedFinancialInstitution": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UnecePaymentFinancialInstitution"
			},
			"description": "A creditor financial institution specified for this trade settlement payment means."
		},
		"debtorSpecifiedFinancialInstitution": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UnecePaymentFinancialInstitution"
			},
			"description": "A debtor financial institution specified for this trade settlement payment means."
		},
		"identifiedCash": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCash"
			},
			"description": "A cash payment identified for this trade settlement payment means."
		},
		"identifiedCheque": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCheque"
			},
			"description": "A cheque payment identified for this trade settlement payment means."
		},
		"identifiedDigitalMethod": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceDigitalMethod"
			},
			"description": "A digital payment method identified for this trade settlement payment means."
		},
		"identifiedFinancialCard": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceFinancialCard"
			},
			"description": "A financial card identified for this trade settlement payment means."
		},
		"identifiedVoucher": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceVoucher"
			},
			"description": "An experience item voucher identified for this trade settlement payment means."
		},
		"information": {
			"type": "string",
			"description": "Information, expressed as text, for this trade settlement payment means."
		},
		"paidAmount": {
			"$ref": "https://schema.twindev.org/unece/UneceAmountType",
			"description": "The monetary value to be paid by this trade settlement payment means."
		},
		"payeePartyFinancialAccount": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCreditorFinancialAccount"
			},
			"description": "A creditor financial account of the payee party for this trade settlement payment means."
		},
		"payeeSpecifiedFinancialInstitution": {
			"$ref": "https://schema.twindev.org/unece/UneceCreditorFinancialInstitution",
			"description": "The creditor financial institution of the payee party specified for this trade settlement payment means."
		},
		"payerPartyFinancialAccount": {
			"$ref": "https://schema.twindev.org/unece/UneceDebtorFinancialAccount",
			"description": "The debtor financial account of the payer party for this trade settlement payment means."
		},
		"payerSpecifiedFinancialInstitution": {
			"$ref": "https://schema.twindev.org/unece/UneceDebtorFinancialInstitution",
			"description": "The debtor financial institution of the payer party specified for this trade settlement payment means."
		},
		"paymentGuaranteeMeansGuaranteeMethodCode": {
			"anyOf": [
				{
					"$ref": "https://schema.twindev.org/unece/UnecePaymentGuaranteeMeansCodeList"
				},
				{
					"type": "string"
				}
			],
			"description": "The code specifying the method of guarantee for this trade settlement payment means."
		},
		"paymentMeansChannelPaymentChannelCode": {
			"anyOf": [
				{
					"$ref": "https://schema.twindev.org/unece/UnecePaymentMeansChannelCodeList"
				},
				{
					"type": "string"
				}
			],
			"description": "The code specifying the payment channel through which this trade settlement payment is to be processed (Reference United\nNations Code List (UNCL) 4435)."
		},
		"paymentMeansType": {
			"type": "string",
			"description": "The type of trade settlement payment means, expressed as text."
		},
		"paymentMeansTypeCode": {
			"anyOf": [
				{
					"$ref": "https://schema.twindev.org/unece/UnecePaymentMeansCodeList"
				},
				{
					"type": "string"
				}
			],
			"description": "The code specifying the type of trade settlement payment means, such as cash or check."
		},
		"paymentMethodCode": {
			"type": "string",
			"description": "The code specifying the method by which a payment may be made for this trade settlement payment means."
		},
		"specifiedCreditorFinancialAccount": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCreditorFinancialAccount"
			},
			"description": "A creditor financial account specified for this trade settlement payment means."
		},
		"specifiedPaymentFinancialInstitution": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UnecePaymentFinancialInstitution"
			},
			"description": "A financial institution specified for this trade settlement payment means."
		},
		"tradeSettlementPaymentMeansId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "An identifier for this trade settlement payment means."
		}
	},
	"required": ["type"]
}
