{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"description": "Service to download the Reference Data",
	"type": "object",
	"additionalProperties": false,
	"$ref": "#/definitions/referenceDataDownloadResponse",
	"definitions": {
		"referenceDataDownloadResponse": {
			"description": "Service to download the Reference Data",
			"type": "object",
			"properties": {
				"versionNumber": {
					"$ref": "commonTypes.json#/definitions/schemaVersion"
				},
				"responseAuditInfo": {
					"$ref": "commonTypes.json#/definitions/responseAuditInfo",
					"description": "Standard audit information sent with responses"
				},
				"referenceData": {
					"type": "object",
					"properties": {
						"roomCategories": {
							"type": "object",
							"properties": {
								"categories": {
									"$ref": "#/definitions/categories",
									"description": "colletion of room categories"
								}
							},
							"additionalProperties": false
						},
						"beddingConfigurations": {
							"type": "object",
							"properties": {
								"bedding": {
									"$ref": "#/definitions/bedding",
									"description": "colletion of room categories"
								}
							},
							"additionalProperties": false
						},
						"boardBasis": {
							"description": "types of meal basis",
							"type": "object",
							"properties": {
								"basis": {
									"$ref": "#/definitions/boardBasis",
									"description": "colletion of room categories"
								}
							},
							"additionalProperties": false
						},
						"breakfasts": {
							"description": "types of meal",
							"type": "object",
							"properties": {
								"breakfast": {
									"$ref": "#/definitions/breakfast",
									"description": "colletion of room categories"
								}
							},
							"additionalProperties": false
						},
						"ruleTypes": {
							"type": "object",
							"properties": {
								"ruleType": {
									"$ref": "#/definitions/ruleTypeDefArray",
									"description": "colletion of room categories"
								}
							},
							"additionalProperties": false
						},
						"ruleGroups": {
							"description": "Categories of rules",
							"type": "object",
							"properties": {
								"ruleGroup": {
									"$ref": "#/definitions/ruleGroup",
									"description": "colletion of room categories"
								}
							},
							"additionalProperties": false
						}
					},
					"additionalProperties": false
				},
				"errors": {
					"$ref": "commonTypes.json#/definitions/errors",
					"description": "Collection of errors happen during the reservation of items."
				},
				"warnings": {
					"$ref": "commonTypes.json#/definitions/warnings"
				}
			},
			"required": [
				"versionNumber",
				"responseAuditInfo"
			],
			"additionalProperties": false
		},
		"id-value": {
			"type": "object",
			"properties": {
				"id": {
					"type": "string"
				},
				"value": {
					"type": "string"
				}
			},
			"additionalProperties": false
		},
		"categories": {
			"description": "categories of rooms",
			"type": "array",
			"items": {
				"$ref": "#/definitions/id-value"
			},
			"additionalProperties": false
		},
		"bedding": {
			"description": "room type",
			"type": "array",
			"items": {
				"$ref": "#/definitions/id-value"
			},
			"additionalProperties": false
		},
		"boardBasis": {
			"description": "meal basis code",
			"type": "array",
			"items": {
				"$ref": "#/definitions/id-value"
			}
		},
		"breakfast": {
			"description": "type of meals",
			"type": "array",
			"items": {
				"$ref": "#/definitions/id-value"
			}
		},
		"ruleGroup": {
			"description": "categories of rules",
			"type": "array",
			"items": {
				"$ref": "#/definitions/id-value"
			}
		},
		"ruleType": {
			"description": "categories of rules",
			"type": "object",
			"additionalProperties": {
				"$ref": "#/definitions/id-value"
			}
		},
		"ruleTypeValue": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/id-value"
			}
		},
		"ruleTypeDef": {
			"type": "object",
			"properties": {
				"id": {
					"type": "number"
				},
				"ruleGroupID": {
					"type": "number"
				},
				"ruleText": {
					"type": "string"
				},
				"ruleTypeValues": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/id-value"
					}
				}
			},
			"additionalProperties": false
		},
		"ruleTypeDefArray": {
			"type": "array",
			"items": {
				"$ref": "#/definitions/ruleTypeDef"
			}
		}
	}
}