{
	"title": "Create new case",
	"type": "object",
	"properties": {
		"identifier": {
			"type": ["string", "null"],
			"maxLength": 16
		},
		"vendor": {
			"type": "string",
			"enum": ["HP", "Caterpillar", "Cubot", "Samsung", "Gigabyte", "Nikon", "Brother", "Benq",
				"Epson", "Estar", "Yulong"],
			"required": true
		},
		"productNumber": {
			"type": "string",
			"minLength": 1,
			"required": true
		},
		"serialNumber": {
			"type": ["string", "null"]
		},
		"imei": {
			"type": ["string", "null"],
			"pattern": "/^[0-9]{6}-?[0-9]{2}-?[0-9]{6}-?[0-9]$/"
		},
		"imei2": {
			"type": ["string", "null"],
			"pattern": "/^[0-9]{6}-?[0-9]{2}-?[0-9]{6}-?[0-9]$/"
		},
		"inWarranty": {
			"type": ["boolean", "null"]
		},
		"symptomCode": {
			"type": ["string", "null"]
		},
		"symptomDescription": {
			"type": ["string", "null"]
		},
		"visualAppearance": {
			"type": ["string", "null"]
		},
		"accessories": {
			"type": ["array", "null"],
			"items": {
				"type": "string",
				"minLength": 1
			},
			"uniqueItems": true
		},
		"purchaseDate": {
			"type": ["string", "null"],
			"pattern": "/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/"
		},
		"claimDate": {
			"type": ["string", "null"],
			"pattern": "/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/"
		},
		"notice": {
			"type": ["string", "null"]
		},
		"delivery": {
			"type": "object",
			"properties": {
				"name": {
					"type": "string",
					"minLength": 1,
					"required": true
				},
				"street": {
					"type": "string",
					"minLength": 1,
					"required": true
				},
				"zip": {
					"type": "string",
					"minLength": 1,
					"required": true
				},
				"city": {
					"type": "string",
					"minLength": 1,
					"required": true
				},
				"country": {
					"type": "string",
					"pattern": "/^[A-Z]{2}$/",
					"required": true
				},
				"phone": {
					"type": ["string", "null"],
					"pattern": "/^(\\+[0-9]{1,3}[- ]?)?[-0-9 ]{1,18}$/"
				},
				"fax": {
					"type": ["string", "null"],
					"pattern": "/^(\\+[0-9]{1,3}[- ]?)?[-0-9 ]{1,18}$/"
				},
				"email": {
					"type": ["string", "null"],
					"pattern": "/^[^@]+@[^@]+\\.[^@.]+$/"
				},
				"contactPerson": {
					"type": ["string", "null"]
				},
				"idNumber": {
					"type": ["string", "null"]
				},
				"VAT": {
					"type": ["string", "null"],
					"pattern": "/^[a-z]{2}/i"
				}
			},
			"required": true
		},
		"billing": {
			"type": ["object", "null"],
			"properties": {
				"name": {
					"type": ["string", "null"]
				},
				"street": {
					"type": ["string", "null"]
				},
				"zip": {
					"type": ["string", "null"]
				},
				"city": {
					"type": ["string", "null"]
				},
				"country": {
					"type": ["string", "null"],
					"pattern": "/^[A-Z]{2}$/"
				},
				"idNumber": {
					"type": ["integer", "string", "null"]
				},
				"VAT": {
					"type": ["string", "null"],
					"pattern": "/^[a-z]{2}/i"
				}
			}
		},
		"fund": {
			"type": ["number", "null"],
			"minimum": 0
		},
		"transport": {
			"type": "object",
			"properties": {
				"company": {
					"enum": ["DHL", "GLS", "UPS"]
				},
				"tracking_number": {
					"type": ["string", "null"]
				}
			}
		}
	}
}
