 {
 	"$schema": "http://json-schema.org/draft-04/schema#",
 	"description": "Request to download hotel data.",
 	"type": "object",
 	"additionalProperties": false,
 	"$ref": "#/definitions/hotelDataRequest",
 	"definitions": {
 		"hotelDataRequest": {
 			"description": "Request to download hotel data.",
 			"type": "object",
 			"properties": {
 				"requestAuditInfo": {
 					"$ref": "commonTypes.json#/definitions/requestAuditInfo",
 					"description": "Point of sale information about the message initiator."
 				},
 				"versionNumber": {
 					"$ref": "commonTypes.json#/definitions/schemaVersion"
 				},
 				"hotelDataCriteria": {
 					"description": "Hotel data criteria for infoLevel 1 or infoLevel 2.",
 					"type": "object",
 					"properties": {
 						"hotelFilterCriteria": {
 							"description": "Hotel data filter criteria based on continents or countries or cities or hotels .",
 							"type": "object",
 							"properties": {
 								"continents": {
 									"description": "Collection of continents for which Information needs to be downloaded.",
 									"type": "object",
 									"properties": {
 										"continent": {
 											"$ref": "#/definitions/continent",
 											"description": "Continent ISO code for which Hotel Information needs to be downloaded.",
 											"properties": {
 												"isoCode": {
 													"$ref": "commonTypes.json#/definitions/xs:string",
 													"description": "isoCode of Continent"
 												}
 											},
 											"additionalProperties": false
 										}
 									},
 									"additionalProperties": false
 								},
 								"countries": {
 									"description": "Collection of countries for which Information needs to be downloaded.",
 									"type": "object",
 									"properties": {
 										"country": {
 											"$ref": "#/definitions/country",
 											"description": "Country ISO code for which Hotel Information needs to be downloaded.",
 											"properties": {
 												"isoCode": {
 													"$ref": "commonTypes.json#/definitions/xs:string",
 													"description": "isoCode of Country"
 												}
 											},
 											"additionalProperties": false
 										}
 									},
 									"additionalProperties": false
 								},
 								"cities": {
 									"description": "Collection of cities for which Information needs to be downloaded.",
 									"type": "object",
 									"properties": {
 										"city": {
 										    "$ref": "#/definitions/city",
 											"description": "City which contains miki city Number or isoStateCode for which Hotel Information needs to be downloaded.",
 											"properties": {
 												"cityNumber": {
 													"$ref": "commonTypes.json#/definitions/xs:string",
 													"description": "Miki City Number"
 												},
 												"isoStateCode": {
 													"$ref": "commonTypes.json#/definitions/xs:string",
 													"description": "isoStateCode of city"
 												}
 											},
 											"additionalProperties": false

 										}

 									},
 									"additionalProperties": false
 								},
 								"hotels": {
 									"description": "Collection of hotels for which Information needs to be downloaded.",
 									"type": "object",
 									"javaType": "uk.co.miki.eBiz.msi.service.json70.schema.RequestHotelDownload",
 									"properties": {
 										"hotel": {
 											"$ref": "#/definitions/hotel",
 											"description": "Hotel which contains the productCode and giataCode for which Hotel Information needs to be downloaded.",
 											"additionalProperties": false
 										}
 									},
 									"additionalProperties": false
 								}
 							},
 							"additionalProperties": false
 						},

 						"infoLevel": {
 							"$ref": "commonTypes.json#/definitions/xs:positiveInteger"
 						},
 						"language": {
 							"$ref": "commonTypes.json#/definitions/xs:language"
 						}
 					},
 					"additionalProperties": false
 				}
 			},
 			"required": [
 				"versionNumber",
 				"requestAuditInfo"
 			],
 			"additionalProperties": false
 		},

 		"isoCode": {
 			"type": "object",
 			"properties": {
 				"isoCode": {
 					"type": "string"
 				}
 			},
 			"additionalProperties": false
 		},
 		"continent": {
 			"description": "Continent ISO code for which Hotel Information needs to be downloaded.",
 			"type": "array",
 			"items": {
 				"$ref": "#/definitions/isoCode"
 			},
 			"additionalProperties": false
 		},
 		
 		 	"countryIsoCode": {
 			"type": "object",
 			"properties": {
 				"isoCode": {
 					"type": "string"
 				}
 			},
 			"additionalProperties": false
 		},
 		
 		"country": {
 			"description": "Country ISO code for which Hotel Information needs to be downloaded.",
 			"type": "array",
 			"items": {
 				"$ref": "#/definitions/countryIsoCode"
 			},
 			"additionalProperties": false
 		},
 		
 		"cityNumber-isoStateCode": {
 			"type": "object",
 			"properties": {
 				"cityNumber": {
 					"type": "string"
 				},
 				"isoStateCode": {
 					"type": "string"
 				}
 			},
 			"additionalProperties": false
 		},
 		
 		"city": {
 			"description": "City which contains miki city Number or isoStateCode for which Hotel Information needs to be downloaded.",
 			"type": "array",
 			"items": {
 				"$ref": "#/definitions/cityNumber-isoStateCode"
 			},
 			"additionalProperties": false
 		},

         "productCode-giataCode": {
 			"type": "object",
 			"javaType": "uk.co.miki.eBiz.msi.service.json70.schema.DownloadHotel",
 			"properties": {
 				"productCode": {
 					"type": "string"
 				},
 				"giataCode": {
 					"type": "string"
 				}
 			},
 			"additionalProperties": false
 		},
 		
 		"hotel": {
 			"description": "Hotel which contains the productCode and giataCode for which Hotel Information needs to be downloaded.",
 			"type": "array",
 			"items": {
 				"$ref": "#/definitions/productCode-giataCode"
 			},
 			"additionalProperties": false
 		}
 	}
 }