<?xml version="1.0" encoding="UTF-8"?>
<!--
- initial release (same as FCMA 2013B)
ET2014A (23.05.2014): extended Geo (Geometry as wkt or linestring)
--> 
<xs:schema 
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns="http://meta.et4.de/ET2014A" 
	targetNamespace="http://meta.et4.de/ET2014A" 
	elementFormDefault="qualified"
	xmlns:params="urn:params" params:package="de.hubermedia.vET2014A"
	>
	
	<xs:element name="result" type="Result" />
	
	<xs:complexType name="Result">
		<xs:sequence>
			<xs:element name="status" type="SimpleStatusType" minOccurs="1" maxOccurs="1" params:tag="5">
				<xs:annotation>
					<xs:documentation>status of the result, possible values: OK, INVALID_LICENSE, INVALID_EXPERIENCE, INVALID_REQUEST, SERVER_ERROR</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="message" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="6">
				<xs:annotation>
					<xs:documentation>errormessages or warnings</xs:documentation>
				</xs:annotation>
			</xs:element>			
			<xs:element name="count" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1" params:tag="3">
				<xs:annotation>
					<xs:documentation>count of items in the current result</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="overallcount" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1" params:tag="2">
				<xs:annotation>
					<xs:documentation>count of all available items (e.g. for paging, with "limit" and "offset" parameters)</xs:documentation>
				</xs:annotation>
			</xs:element>			
			<xs:element name="channels" type="Channels" minOccurs="1" maxOccurs="1" params:tag="4" />
			<xs:element name="facetGroups" type="FacetGroups" minOccurs="1" maxOccurs="1" params:tag="7" />
			<xs:element name="items" type="Items" minOccurs="1" maxOccurs="1" params:tag="1" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Channels" params:isList="true">
		<xs:sequence>
			<xs:element name="channel" type="Channel" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Channel">
		<xs:sequence>
			<xs:element name="title" type="xs:string" minOccurs="1" maxOccurs="1" params:tag="2" />
			<xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1" params:tag="3" />
			<xs:element name="link" type="xs:anyURI" minOccurs="1" maxOccurs="1" params:tag="4" />
			<xs:element name="copyright" type="xs:string" minOccurs="1" maxOccurs="1" params:tag="5" />
		</xs:sequence>
		<xs:attribute name="id" type="xs:integer" use="required" params:tag="1" />
	</xs:complexType>
	
	<xs:complexType name="FacetGroups" params:isList="true">
		<xs:sequence>
			<xs:element name="facetGroup" type="FacetGroup" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="FacetGroup">
		<xs:sequence>
			<xs:element name="facets" type="Facets" minOccurs="1" maxOccurs="1" params:tag="2" />
		</xs:sequence>
		<xs:attribute name="field" type="xs:string" use="required" params:tag="1" />
	</xs:complexType>

	<xs:complexType name="Facets" params:isList="true">
		<xs:sequence>
			<xs:element name="facet" type="Facet" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Facet">
		<xs:attribute name="value" type="xs:string" use="required" params:tag="1" />
		<xs:attribute name="count" type="xs:nonNegativeInteger" use="required" params:tag="2" />
		<xs:attribute name="q" type="xs:string" use="required" params:tag="3" />
		<xs:attribute name="label" type="xs:string" use="required" params:tag="4" />
	</xs:complexType>	
	
	<xs:complexType name="Items" params:isList="true" params:flush="10000">
		<xs:sequence>
			<xs:element name="item" type="Item" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Item">
		<xs:sequence>
			<xs:element name="global_id" type="xs:string" minOccurs="1" maxOccurs="1" params:tag="80" /><!--??-->
			<xs:element name="channel_id" type="xs:integer" minOccurs="1" maxOccurs="1" params:tag="202" />
			<xs:element name="id" type="xs:string" minOccurs="1" maxOccurs="1" params:tag="18" />
			<xs:element name="title" type="xs:string" minOccurs="1" maxOccurs="1" params:tag="87" />
			<xs:element name="type" type="SimpleMetaType" minOccurs="1" maxOccurs="1" params:tag="208" />
			<xs:element name="categories" type="Categories" minOccurs="1" maxOccurs="1" params:tag="10" />
			<xs:element name="texts" type="Texts" minOccurs="0" maxOccurs="1" params:tag="13" />
			<xs:element name="country" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="24" />
			<xs:element name="areas" type="Areas" minOccurs="0" maxOccurs="1" params:tag="15" />
			<xs:element name="city" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="22" />
			<xs:element name="zip" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="21" />
			<xs:element name="street" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="20" />
			<xs:element name="housenumber" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="207" />
			<xs:element name="phone" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="34" />
			<xs:element name="fax" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="204" />
			<xs:element name="web" type="xs:anyURI" minOccurs="0" maxOccurs="1" params:tag="88" />
			<xs:element name="email" type="SimpleEmail" minOccurs="0" maxOccurs="1" params:tag="35" />
			<xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="19" />
			<xs:element name="geo" type="Geo" minOccurs="1" maxOccurs="1" params:tag="201" />
			<xs:element name="ratings" type="Ratings" minOccurs="0" maxOccurs="1" params:tag="50" />
			<xs:element name="cuisine_types" type="CuisineTypes" minOccurs="0" maxOccurs="1" params:tag="69" />
			<xs:element name="payment" type="Payment" minOccurs="0" maxOccurs="1" params:tag="203" />
			<xs:element name="highlight" type="xs:boolean" minOccurs="0" maxOccurs="1" params:tag="33" />			
			<xs:element name="accessibility" type="xs:boolean" minOccurs="0" maxOccurs="1" params:tag="49" />
			<xs:element name="child_friendly" type="xs:boolean" minOccurs="0" maxOccurs="1" params:tag="48" />
			<xs:element name="media_objects" type="MediaObjects" minOccurs="0" maxOccurs="1" params:tag="12" />
			<xs:element name="keywords" type="Keywords" minOccurs="0" maxOccurs="1" params:tag="14" />
			<xs:element name="timeIntervals" type="TimeIntervals" minOccurs="0" maxOccurs="1" params:tag="205" />
			<xs:element name="numbers" type="Numbers" minOccurs="0" maxOccurs="1" params:tag="206" />
			<xs:element name="calc_distance" type="xs:integer" minOccurs="0" maxOccurs="1" params:tag="82" />
			
			<!-- new for ET2014A -->
			<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="81" />
			<xs:element name="attributes" type="Attributes" minOccurs="0" maxOccurs="1" params:tag="210" />
			<xs:element name="features" type="Features" minOccurs="0" maxOccurs="1" params:tag="211" />
			<xs:element name="addresses" type="Addresses" minOccurs="0" maxOccurs="1" params:tag="212" />
			<xs:element name="created" type="xs:dateTime" minOccurs="0" maxOccurs="1" params:tag="26" />
			<xs:element name="changed" type="xs:dateTime" minOccurs="0" maxOccurs="1" params:tag="27" />
			<xs:element name="source" type="Source" minOccurs="0" maxOccurs="1" params:tag="16" />
			<xs:element name="company" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="214" />
			<xs:element name="district" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="215" />
			<xs:element name="postoffice" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="216" />
			<xs:element name="phone2" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="217" />
			
			<!-- Tours and Routes -->
			<xs:element name="duration" type="xs:double" minOccurs="0" maxOccurs="1" params:tag="218" />
			<xs:element name="length" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" params:tag="72" />
			<xs:element name="elevationMin" type="xs:double" minOccurs="0" maxOccurs="1" params:tag="77" />
			<xs:element name="elevationMax" type="xs:double" minOccurs="0" maxOccurs="1" params:tag="78" />
			<xs:element name="totalAscent" type="xs:double" minOccurs="0" maxOccurs="1" params:tag="92" />
			<xs:element name="totalDescent" type="xs:double" minOccurs="0" maxOccurs="1" params:tag="93" />
			<!--<xs:element name="tour_round" type="xs:boolean" minOccurs="0" maxOccurs="1" params:tag="75" />-->
			<xs:element name="seasons" type="Seasons" minOccurs="0" maxOccurs="1" params:tag="51" />
			
			<!-- SubItems (Leistungen, Routing) -->
			<xs:element name="subitems" type="SubItems" minOccurs="0" maxOccurs="1" params:tag="213" />
			
			<!-- HyperObjects -->
			<xs:element name="hyperObjects" type="HyperObjects" minOccurs="0" maxOccurs="1" params:tag="219" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="SubItems" params:isList="true">
		<xs:sequence>
			<xs:element name="subitem" type="SubItem" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="SubItem">
		<xs:sequence>
			<xs:element name="id" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="2" />
			<xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="3" />
			<xs:element name="type" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="4" />			
			<xs:element name="geo" type="Geo" minOccurs="0" maxOccurs="1" params:tag="5" />		
			<xs:element name="ref" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="6" />
			<xs:element name="categories" type="Categories" minOccurs="0" maxOccurs="1" params:tag="7" />
			<xs:element name="features" type="Features" minOccurs="0" maxOccurs="1" params:tag="8" />
			<xs:element name="texts" type="Texts" minOccurs="0" maxOccurs="1" params:tag="9" />
			<xs:element name="ratings" type="Ratings" minOccurs="0" maxOccurs="1" params:tag="10" />
			<xs:element name="media_objects" type="MediaObjects" minOccurs="0" maxOccurs="1" params:tag="11" />
			<xs:element name="keywords" type="Keywords" minOccurs="0" maxOccurs="1" params:tag="12" />
			<xs:element name="numbers" type="Numbers" minOccurs="0" maxOccurs="1" params:tag="13" />
			<xs:element name="attributes" type="Attributes" minOccurs="0" maxOccurs="1" params:tag="14" />		
			<xs:element name="instructions" type="Instructions" minOccurs="0" maxOccurs="1" params:tag="15" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="HyperObjects" params:isList="true">
		<xs:sequence>
			<xs:element name="hyperObject" type="HyperObject" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="HyperObject">
		<xs:sequence>
			<xs:element name="source" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="2" />
			<xs:element name="url" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="3" />
			<xs:element name="isBookable" type="xs:boolean" minOccurs="0" maxOccurs="1" params:tag="4" />
			<xs:element name="attributes" type="Attributes" minOccurs="0" maxOccurs="1" params:tag="5" />
			<xs:element name="numbers" type="Numbers" minOccurs="0" maxOccurs="1" params:tag="6" />
			<xs:element name="hyperSubObjects" type="HyperSubObjects" minOccurs="0" maxOccurs="1" params:tag="7" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="HyperSubObjects" params:isList="true">
		<xs:sequence>
			<xs:element name="hyperSubObject" type="HyperSubObject" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>	
	
	<xs:complexType name="HyperSubObject">
		<xs:sequence>
			<xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="2" />
			<xs:element name="type" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="3" />
			<xs:element name="changed" type="xs:dateTime" minOccurs="0" maxOccurs="1" params:tag="4" />
			<xs:element name="texts" type="Texts" minOccurs="0" maxOccurs="1" params:tag="5" />
			<xs:element name="attributes" type="Attributes" minOccurs="0" maxOccurs="1" params:tag="6" />
			<xs:element name="media_objects" type="MediaObjects" minOccurs="0" maxOccurs="1" params:tag="7" />
			<xs:element name="keywords" type="Keywords" minOccurs="0" maxOccurs="1" params:tag="8" />
			<xs:element name="numbers" type="Numbers" minOccurs="0" maxOccurs="1" params:tag="9" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Instructions" params:isList="true">
		<xs:sequence>
			<xs:element name="instruction" type="Instruction" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Instruction">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="action" type="xs:string" use="required" params:tag="2" />
				<xs:attribute name="lat" type="xs:double" use="optional" params:tag="3" />
				<xs:attribute name="lon" type="xs:double" use="optional" params:tag="4" />
				<xs:attribute name="distance" type="xs:double" use="optional" params:tag="5" />
				<xs:attribute name="time" type="xs:nonNegativeInteger" use="optional" params:tag="6" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="Categories" params:isList="true">
		<xs:sequence>
			<xs:element name="category" type="xs:string" minOccurs="1" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Texts" params:isList="true">
		<xs:sequence>
			<xs:element name="text" type="Text" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Text">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="rel" type="SimpleTextRel" use="required" params:tag="2" />
				<xs:attribute name="type" type="SimpleMimeType" use="optional" params:tag="3" />
				<xs:attribute name="author" type="xs:string" use="optional" params:tag="4" />
				<xs:attribute name="source" type="xs:string" use="optional" params:tag="5" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="Areas" params:isList="true">
		<xs:sequence>
			<xs:element name="area" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Geo">
		<xs:sequence>
			<xs:element name="main" type="Coordinate" minOccurs="1" maxOccurs="1" params:tag="1" />
			<xs:element name="entry" type="Coordinate" minOccurs="0" maxOccurs="unbounded" params:tag="2" />
			<xs:element name="geometry" type="Geometry" minOccurs="0" maxOccurs="1" params:tag="3" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Coordinate">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="latitude" type="xs:double" use="required" params:tag="2" />
				<xs:attribute name="longitude" type="xs:double" use="required" params:tag="3" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="Geometry">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="type" type="SimpleGeometryType" use="required" params:tag="2" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>	
	
	<xs:complexType name="Ratings" params:isList="true">
		<xs:sequence>
			<xs:element name="rating" type="Rating" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="Rating">
		<xs:simpleContent>
			<xs:extension base="SimpleRatingValue">
				<xs:attribute name="type" type="xs:string" use="required" params:tag="2" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="CuisineTypes" params:isList="true">
		<xs:sequence>
			<xs:element name="cuisine_type" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Payment" params:isList="true">
		<xs:sequence>
			<xs:element name="method" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="MediaObjects" params:isList="true">
		<xs:sequence>
			<xs:element name="media_object" type="MediaObject" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="MediaObject">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="rel" type="SimpleMediaObjectRel" use="required" params:tag="2" />
				<xs:attribute name="url" type="xs:anyURI" use="required" params:tag="3" />
				<xs:attribute name="type" type="SimpleMimeType" use="optional" params:tag="4" />
				<xs:attribute name="author" type="xs:string" use="optional" params:tag="5" />
				<xs:attribute name="source" type="xs:string" use="optional" params:tag="6" />
				<xs:attribute name="latitude" type="xs:double" use="optional" params:tag="7" />
				<xs:attribute name="longitude"	type="xs:double" use="optional" params:tag="8" />
				<xs:attribute name="theme"	type="xs:string" use="optional" params:tag="9" />
				<xs:attribute name="ratio"	type="SimpleMediaObjectRatio" use="optional" params:tag="10" />
				<xs:attribute name="prio" type="xs:integer" use="optional" params:tag="11" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="Keywords" params:isList="true">
		<xs:sequence>
			<xs:element name="keyword" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
				
	<xs:complexType name="TimeIntervals" params:isList="true">
		<xs:sequence>
			<xs:element name="timeInterval" type="TimeInterval" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>	
	</xs:complexType>
	
	<xs:complexType name="TimeInterval">
		<xs:sequence>
			<xs:element name="weekdays" type="TimeIntervalWeekdays" minOccurs="0" maxOccurs="1" params:tag="5" />
		</xs:sequence>
		<xs:attribute name="start" type="xs:dateTime" use="required" params:tag="2" />
		<xs:attribute name="end" type="xs:dateTime" use="required" params:tag="3" />
		<xs:attribute name="repeatUntil" type="xs:dateTime" use="optional" params:tag="4" />
		
		<xs:attribute name="tz" type="xs:string" use="optional" params:tag="6" />
		<xs:attribute name="freq" type="SimpleRecurrenceFrequency" use="optional" params:tag="7" params:stringify="true" />
		<xs:attribute name="dayOrdinal" type="xs:integer" use="optional" params:tag="20" />
		<xs:attribute name="weekday" type="SimpleWeekDayValue" use="optional" params:tag="21" params:stringify="true" />
		<xs:attribute name="month" type="xs:integer" use="optional" params:tag="22" />
		<xs:attribute name="dayOfMonth" type="xs:integer" use="optional" params:tag="23" />
		<xs:attribute name="interval" type="xs:integer" use="optional" params:tag="24" />
		<xs:attribute name="repeatCount" type="xs:integer" use="optional" params:tag="25" />
		<xs:attribute name="hideEnd" type="xs:boolean" use="optional" params:tag="30" />
	</xs:complexType>
	
	<xs:complexType name="TimeIntervalWeekdays" params:isList="true">
		<xs:sequence>
			<xs:element name="weekday" type="SimpleWeekDayValue" minOccurs="1" maxOccurs="unbounded" params:stringify="true" />					
		</xs:sequence>	
	</xs:complexType>
	
	<xs:complexType name="Numbers" params:isList="true">
		<xs:sequence>
			<xs:element name="number" type="Number" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>	
	
	<xs:complexType name="Number">
		<xs:simpleContent>
			<xs:extension base="xs:double">
				<xs:attribute name="type" type="xs:string" use="required" params:tag="2" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="Attributes" params:isList="true">
		<xs:sequence>
			<xs:element name="attribute" type="Attribute" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>	
	
	<xs:complexType name="Attribute">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="key" type="xs:string" use="required" params:tag="2" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<xs:complexType name="Features" params:isList="true">
		<xs:sequence>
			<xs:element name="feature" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Addresses" params:isList="true">
		<xs:sequence>
			<xs:element name="address" type="Address" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>	

	<xs:complexType name="Address">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="3" />
			<xs:element name="city" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="4" />
			<xs:element name="zip" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="5" />
			<xs:element name="street" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="6" />
			<xs:element name="housenumber" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="7" />
			<xs:element name="phone" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="8" />
			<xs:element name="fax" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="9" />
			<xs:element name="web" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="10" />
			<xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="11" />
			<xs:element name="image" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="12" />
			<xs:element name="district" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="13" />
			<xs:element name="postoffice" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="14" />
			<xs:element name="company" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="15" />
			<xs:element name="phone2" type="xs:string" minOccurs="0" maxOccurs="1" params:tag="16" />
		</xs:sequence>
		<xs:attribute name="rel" type="SimpleAddressRel" use="required" params:tag="2" />
	</xs:complexType>
	
	<xs:complexType name="Source">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="url" type="xs:string" use="required" params:tag="2" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>				
	
	<xs:complexType name="Seasons" params:isList="true">
		<xs:sequence>
			<xs:element name="season" type="Season" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="Season">
		<xs:sequence></xs:sequence>
		<xs:attribute name="month" type="xs:nonNegativeInteger" use="required" params:tag="3" />
		<xs:attribute name="suitable" type="SimpleSeasonSuitability" use="required" params:tag="2" params:stringify="true" />
	</xs:complexType>
	
	<!-- Simple Types -->

	<xs:simpleType name="SimplePolyline">
		<xs:list itemType="xs:double" />
	</xs:simpleType>
	
	<xs:simpleType name="SimpleEmail">
		<xs:restriction base="xs:string">
			<xs:pattern	value="([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="SimpleMimeType">
		<xs:restriction base="xs:string">
			<!-- http://www.iana.org/assignments/media-types -->
		</xs:restriction>
	</xs:simpleType>
  
  	<xs:simpleType name="SimpleRatingValue">
		<xs:restriction base="xs:double">
			<xs:minInclusive value="0" />
			<xs:maxInclusive value="100" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="SimpleMediaObjectRel">
		<xs:restriction base="xs:string">
			<xs:enumeration value="default" />
			<xs:enumeration value="gallery" />
			<xs:enumeration value="download" />
			<xs:enumeration value="video" />
			<xs:enumeration value="audio" />
			<xs:enumeration value="qrcode" />
			<xs:enumeration value="booking" />
			<xs:enumeration value="socialmedia" />
			<xs:enumeration value="rating" />
			<xs:enumeration value="barrierfree" />
			<xs:enumeration value="print" />
			
			<xs:enumeration value="summer" />
			<xs:enumeration value="winter" />
			<xs:enumeration value="mobile" />
			<xs:enumeration value="pages" />
			<xs:enumeration value="homepage" />
			
			<xs:enumeration value="other" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="SimpleMediaObjectRatio">
		<xs:restriction base="xs:string">
			<xs:enumeration value="" />
			<xs:enumeration value="3:2" />
			<xs:enumeration value="4:3" />
			<xs:enumeration value="16:9" />  
		</xs:restriction>
	</xs:simpleType>	

	<xs:simpleType name="SimpleWeekDayValue">
		<xs:annotation>
			<xs:documentation>Weekday</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Sunday" />
			<xs:enumeration value="Monday" />
			<xs:enumeration value="Tuesday" />
			<xs:enumeration value="Wednesday" />
			<xs:enumeration value="Thursday" />
			<xs:enumeration value="Friday" />
			<xs:enumeration value="Saturday" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="SimpleTextRel">
		<xs:restriction base="xs:string">
			<!-- New Text Types: Not filled with MD Content -->
			<xs:enumeration value="teaser" />
			<xs:enumeration value="destination" />
			<xs:enumeration value="date" />
			<xs:enumeration value="dayoff" />
			<xs:enumeration value="directions" />
			<xs:enumeration value="barrierfree" />
			
			<!-- MD Content API Text Types -->		
			<xs:enumeration value="long" />
			<xs:enumeration value="short" />
			<xs:enumeration value="highlight" />
			<xs:enumeration value="insidertip" />		
			<xs:enumeration value="openinghours" />
			<xs:enumeration value="equipment" />
			<xs:enumeration value="roominfo" />
			<xs:enumeration value="pricerange" />
			<xs:enumeration value="classification" />
			<xs:enumeration value="convention" />
			<xs:enumeration value="games" />
			<xs:enumeration value="styles" />
			<xs:enumeration value="meals" />
			<xs:enumeration value="mealsavail" />
			<xs:enumeration value="paymentinfo" />
			<xs:enumeration value="clubinfo" />
			<xs:enumeration value="guestinfo" />
			<xs:enumeration value="cinemainfo" />
			<xs:enumeration value="program" />
			<xs:enumeration value="parking" />
			<xs:enumeration value="rentalcar" />
			<xs:enumeration value="schedule" />
			
			<!--  Hotel.DE API Text Types -->
			<!-- equipment, destination, directions, additional -->
			<xs:enumeration value="additional" />
			
			<!-- NEW ET2014A -->
			<xs:enumeration value="details" />
			<xs:enumeration value="kitchen" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="SimpleMetaType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Hotel" />
			<xs:enumeration value="Event" />
			<xs:enumeration value="Gastro" />
			<xs:enumeration value="Tour" />
			<xs:enumeration value="POI" />
			<xs:enumeration value="City" />
			<xs:enumeration value="Area" />
			<xs:enumeration value="Package" />
			<xs:enumeration value="Article" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="SimpleStatusType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="OK" />
			<xs:enumeration value="INVALID_LICENSE" />
			<xs:enumeration value="INVALID_EXPERIENCE" />
			<xs:enumeration value="INVALID_REQUEST" />
			<xs:enumeration value="SERVER_ERROR" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="SimpleGeometryType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="wkt" />
			<xs:enumeration value="linestring" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="SimpleAddressRel">
		<xs:restriction base="xs:string">
			<xs:enumeration value="author" /><!-- Autor (Mandanten-Config) -->
			<xs:enumeration value="organisation" /><!-- Organisation (Mandanten-Config) -->
			<xs:enumeration value="support" /><!-- Support (Mandanten-Config) -->
			<xs:enumeration value="contact_person" /><!-- Ansprechpartner -->
			<xs:enumeration value="organizer" /><!-- Veranstalter -->
			<xs:enumeration value="lessor" /><!-- Verpächter -->
		</xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="SimpleRecurrenceFrequency">
		<xs:annotation>
			<xs:documentation>RecurrenceFrequency</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="single" />
			<xs:enumeration value="daily" />
			<xs:enumeration value="weekly" />
			<xs:enumeration value="monthly" />
			<xs:enumeration value="yearly" />
		</xs:restriction>
	</xs:simpleType>			
	
	<xs:simpleType name="SimpleSeasonSuitability">
		<xs:annotation>
			<xs:documentation>SeasonSuitability</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Unsuitable" />
			<xs:enumeration value="Depends" />
			<xs:enumeration value="Suitable" />
		</xs:restriction>
	</xs:simpleType>
		
</xs:schema>