{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"additionalProperties": false,
	"definitions": {
		"cancellationCostResponse": {
			"additionalProperties": false,
			"description": "Response to request for booking cancellation",
			"properties": {
				"versionNumber": {
					"$ref": "commonTypes.json#/definitions/schemaVersion"
				},
				"errors": {
					"$ref": "commonTypes.json#/definitions/errors"
				},
				"responseAuditInfo": {
					"$ref": "commonTypes.json#/definitions/responseAuditInfo"
				},
				"tours": {
					"additionalProperties": false,
					"items": {
						"$ref": "#/definitions/cancellationTourType"
					},
					"minItems": 1,
					"type": "array"
				},
				"warnings": {
					"$ref": "commonTypes.json#/definitions/warnings"
				}
			},
			"required": [
				"responseAuditInfo",
				"versionNumber"
			],
			"oneOf": [
				{
					"required": [
						"tours"
					]
				},
				{
					"required": [
						"errors"
					]
				}
			],
			"type": "object"
		},
		"cancellationTourType": {
			"additionalProperties": false,
			"properties": {
				"bookingReference": {
					"additionalProperties": false,
					"description": "bookingReference of this tour",
					"$ref": "commonTypes.json#/definitions/xs:string"
				},
				"currencyCode": {
					"additionalProperties": false,
					"description": "Currency used for this tour. All amount related to this tour are based on this currency",
					"$ref": "commonTypes.json#/definitions/currencyCodeType"
				},
				"roomCancellationChargeDetails": {
					"additionalProperties": false,
					"description": "Full details and the cancellation charge along with the how the cancellation charge is calculated per Night.",
					"items": {
						"$ref": "cancellationCommonTypes.json#/definitions/cancellationChargeDetail"
					},
					"minItems": 1,
					"type": "array"
				},
				"tourReference": {
					"additionalProperties": false,
					"description": "The unique reservation reference of the item for which cancellation was requested",
					"$ref": "bookingCommonTypes.json#/definitions/tourReferenceType"
				},
				"tourTotalCancellationCharge": {
					"additionalProperties": false,
					"$ref": "commonTypes.json#/definitions/xs:decimal"
				}
			},
			"required": [
				"bookingReference",
				"currencyCode",
				"tourReference",
				"tourTotalCancellationCharge"
			],
			"type": "object"
		}
	},
	"$ref": "#/definitions/cancellationCostResponse"
}