<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://hacon.de/hafas/proxy/hafas-proxy" targetNamespace="http://hacon.de/hafas/proxy/hafas-proxy" elementFormDefault="qualified" version="2.53" xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb" jaxb:version="3.0">
	<xs:element name="TechnicalMessage">
		<xs:annotation>
			<xs:documentation>Can contain any technical message by either the API server itself or any backend system involved. The content is not part of the functional response and can be seen as metadata.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
			    <xs:extension base="xs:string">
	    			<xs:attribute name="key" type="xs:string" />
			    </xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="TechnicalMessages">
		<xs:annotation>
			<xs:documentation>Can contain any number of technical messages.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:sequence>
					<xs:element ref="TechnicalMessage" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Warning">
		<xs:annotation>
			<xs:documentation>Warning.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="key" type="xs:string" />
			<xs:attribute name="message" type="xs:string" />
		</xs:complexType>
	</xs:element>
	<xs:element name="Warnings">
		<xs:annotation>
			<xs:documentation>Warnings.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:sequence>
					<xs:element ref="Warning" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="CommonResponseType">
		<xs:sequence>
			<xs:element ref="TechnicalMessages" minOccurs="0" />
			<xs:element ref="Warnings" minOccurs="0" />
		</xs:sequence>
		<xs:attribute name="serverVersion" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The version of the HAFAS proxy server which was used to calculate that result.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dialectVersion" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The version of the response data structure.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="version" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The data version in the HAFAS server which was used to calculate that result.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="planRtTs" type="xs:dateTime" use="optional">
			<xs:annotation>
				<xs:documentation>The timestamp of the latest real time data update.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="errorCode" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>If the request fails, the errorCode is filled with the API Server error code.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="errorText" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>If the request fails, the errorText is filled with the API Server error message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="internalErrorCode" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>If the request fails, the errorCode is filled with the HAFAS server error code, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="internalErrorText" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>If the request fails, the errorText is filled with the HAFAS server error message, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="internalErrorTextOut" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>If the request fails, the errorText is filled with a user-friendly error message, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="requestId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Request ID provided by the caller or generated if not present in the request.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:element name="Error">
		<xs:annotation>
			<xs:documentation>This element represents the response in case of any error</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType"/>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<!--  -->
	<xs:element name="LocationDetails">
		<xs:annotation>
			<xs:documentation>The location contains details for a stop/station or POI.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:choice minOccurs="0" maxOccurs="1">
						<xs:element name="StopLocation" type="StopLocation"/>
						<xs:element name="CoordLocation" type="CoordLocation"/>
					</xs:choice>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="LocationList">
		<xs:annotation>
			<xs:documentation>The location list contains either named coordinates or stops/stations with name and id as
				a result
				of a location request. The data of every list entry can be used for further trip or departureBoard
				requests.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:choice minOccurs="0" maxOccurs="unbounded">
							<xs:element name="StopLocation" type="StopLocation"/>
							<xs:element name="CoordLocation" type="CoordLocation"/>
						</xs:choice>
						<xs:element name="scrollCtx" type="xs:string" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>In case of requested scrolling or too many results, use this context to get the next results.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="StopLocation">
		<xs:annotation>
			<xs:documentation>The element StopLocation specifies a stop/station in a result
			of a location request.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="LocationNotes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains a list of notes to be displayed for this location, like attributes or
						footnotes.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Message" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="productAtStop" type="ProductType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Products running at this stop.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="TariffResult" minOccurs="0"/>
			<xs:element name="links" type="ResourceLinks" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="altId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Alternative IDs for this stop location. These might not be applicable when doing
						follow-up requests</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mainMastAltId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Deprecated. Use mainMast structure instead.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="timezoneOffset" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Location time zone offset in minutes. Will only be filled in location-based services. If no date/time is specified in the request will return offset for current date/time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mainMast" type="StopLocation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Main mast information in case this stop belongs to such.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="equivalentStopLocation" type="StopLocation" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of equivalent stop locations.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="entryPointLocation" type="StopLocation" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of entry point locations.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="weatherInformation" type="WeatherInformationType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Weather information for the given location - This is a list to support multiple information for one day or a 10-day-forecast or else. In the trivial case where the
					weather is requested for a specific point in time, this will only contain a single element.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="assignedPois" type="CoordLocation" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Experimental! List of assigned POIs.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.StopLocation"/>
	</xs:complexType>

	<xs:attributeGroup name="attlist.StopLocation">
		<xs:attribute name="id" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>This ID can either be used as originId or destId to perform a trip request or to call
					a departure
					or arrival board.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="extId" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>This ID defines an alternative ID for this stop location and can not be used to
					perform further
					requests.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>True if this stop is a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hasMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. True if this stop belongs to a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastId" type="xs:string">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastExtId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. External ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 longitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 latitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastAlt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The altitude of the geographical position of the main mast this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the output name of this stop or station</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="defName" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Contains the default name of this stop or station</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="description" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Additional description of location, e.g. address</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 longitude of the geographical position of the stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 latitude of the geographical position of the stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>The altitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="track" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Track information, if available.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if track information is hidden by data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="weight" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>This value specifies some kind of importance of this stop. The more traffic at this
					stop the
					higher the weight. The range is between 0 and 32767. This attribute is only available in the
					location.allstops
					response
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dist" type="xs:int">
			<xs:annotation>
				<xs:documentation>This value specifies the distance to the given coordinate if called by a nearby search
					request.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="products" type="xs:int">
			<xs:annotation>
				<xs:documentation>This value specifies the products available at this location.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="meta" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True, if the stop is a meta stop.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="refinable" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True, if the stop is not resolved fully and could be refined.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="matchValue" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>A percentage value [0, 100] indicating how well the name of the given location matches the
					input location name. This attribute is only available in the location.name response</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="entry" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>True, if the stop is an entry point.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="minimumChangeDuration" type="xs:duration">
		    <xs:annotation>
		        <xs:documentation>Minimum duration to change at this stop/station.</xs:documentation>
		    </xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>

	<xs:complexType name="CoordLocation">
		<xs:annotation>
			<xs:documentation>The element CoordLocation specifies a coordinate based location in a result of a location
				request.
				It contains an output name, latitude, longitude and a type (address or point of interest). The
				coordinates and the
				name can be used as origin or destination parameters to perform a trip request.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="LocationNotes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains a list of notes to be displayed for this location, like attributes or
						footnotes.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="links" type="ResourceLinks" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="icon" type="IconType" minOccurs="0" maxOccurs="1" />
			<xs:element name="entryLocation" type="CoordLocation" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of entry points to this locations.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="childLocation" type="CoordLocation" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of child locations. In case of an MCP, child locations might be vehicles.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mcpInformation" type="McpInformationType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>In case this location is of type, any MCP related information is covered in this structure.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="weatherInformation" type="WeatherInformationType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Weather information for the given location - This is a list to support multiple information for one day or a 10-day-forecast or else. In the trivial case where the
					weather is requested for a specific point in time, this will only contain a single element.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.CoordLocation"/>
	</xs:complexType>
	<xs:attributeGroup name="attlist.CoordLocation">
		<xs:attribute name="id" type="xs:string">
			<xs:annotation>
				<xs:documentation>This optional ID can either be used as originId or destId to perform a trip request.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="extId" type="xs:string">
			<xs:annotation>
				<xs:documentation>This ID defines an alternative ID for this stop location and can not be used to
                    perform further requests.
                </xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the output name of the address or point of interest</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="description" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Additional description of location, e.g. address</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" use="required">
			<xs:annotation>
				<xs:documentation>The attribute type specifies the type of location. Valid values are ADR (address),
                    POI (point of interest), CRD (coordinate), MCP (mode change point) or HL (hailing point).
                </xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="ADR"/>
					<xs:enumeration value="POI"/>
					<xs:enumeration value="CRD"/>
					<xs:enumeration value="MCP"/>
					<xs:enumeration value="HL"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="lon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 longitude of the geographical position of the stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 latitude of the geographical position of the stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>The altitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dist" type="xs:int">
			<xs:annotation>
				<xs:documentation>This value specifies the distance to the given coordinate if called by a nearby search
					request.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="refinable" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True, if the stop is not resolved fully and could be refined.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="matchValue" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>A percentage value [0, 100] indicating how well the name of the given location matches the
					input location name. This attribute is only available in the location.name response</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:element name="LocationNotes">
		<xs:annotation>
			<xs:documentation>Contains a list of notes to be displayed for this location.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="LocationNote" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Note to be displayed</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="LocationNote">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="attlist.LocationNote"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:element name="LocationNote" type="LocationNote">
		<xs:annotation>
			<xs:documentation>Text to be displayed</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:attributeGroup name="attlist.LocationNote">
		<xs:attribute name="key" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>An identifier of this note.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="NoteType" use="optional" default="U">
			<xs:annotation>
				<xs:documentation>The type of this note.</xs:documentation>
			</xs:annotation>
		</xs:attribute>

		<xs:attribute name="txtN" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Normal version of this notes text</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="txtL" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Long version of this notes text</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="txtS" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Short version of this notes text</xs:documentation>
			</xs:annotation>
		</xs:attribute>

		<xs:attribute name="rtActivated" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>Indicates that the attribute was activated by realtime.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDeactivated" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>Indicates that the attribute was deactivated by realtime.</xs:documentation>
			</xs:annotation>
		</xs:attribute>

		<xs:attribute name="url">
			<xs:annotation>
				<xs:documentation>URL for this note</xs:documentation>
			</xs:annotation>
		</xs:attribute>

	</xs:attributeGroup>

	<xs:complexType name="ProductStatusType">
		<xs:sequence>
			<xs:element name="icon" type="IconType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="rtIcon" type="IconType" minOccurs="0" maxOccurs="1"/>
		</xs:sequence>
		<xs:attribute name="code" type="xs:int"/>
		<xs:attribute name="txt" type="xs:string"/>
	</xs:complexType>

	<xs:simpleType name="NoteType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Unknown</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="A">
				<xs:annotation>
					<xs:documentation>Attribute</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="I">
				<xs:annotation>
					<xs:documentation>Infotext</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="R">
				<xs:annotation>
					<xs:documentation>Realtime</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="H">
				<xs:annotation>
					<xs:documentation>Hint</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="M">
				<xs:annotation>
					<xs:documentation>HIM-Message</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="C">
				<xs:annotation>
					<xs:documentation>State of connection</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="D">
				<xs:annotation>
					<xs:documentation>Reason for delay</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="B">
				<xs:annotation>
					<xs:documentation>Through-connection</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Q">
				<xs:annotation>
					<xs:documentation>Freetext</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="L">
				<xs:annotation>
					<xs:documentation>Reference train</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="N">
				<xs:annotation>
					<xs:documentation>Connection specific realtime message</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="O">
				<xs:annotation>
					<xs:documentation>Stop specific realtime message</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="P">
				<xs:annotation>
					<xs:documentation>Train cancellation</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="S">
				<xs:annotation>
					<xs:documentation>Change of train</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="V">
				<xs:annotation>
					<xs:documentation>Change of product</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="X">
				<xs:annotation>
					<xs:documentation>Extended platform change (e.g. change to different part of a station)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Z">
				<xs:annotation>
					<xs:documentation>Change in itinerary (e.g. because of new or canceled stop)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Y">
				<xs:annotation>
					<xs:documentation>Deviating origin or destination because of partial cancelation at start or end</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="K">
				<xs:annotation>
					<xs:documentation>One entry of XI infotext</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="G">
				<xs:annotation>
					<xs:documentation>Platform change</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="W">
				<xs:annotation>
					<xs:documentation>Contains URL linking to a webview</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ED">
				<xs:annotation>
					<xs:documentation>DELFI/EU-SPIRIT: contains link to URL with additional information.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TAR">
				<xs:annotation>
					<xs:documentation>Tariff specific hint</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FN">
				<xs:annotation>
					<xs:documentation>Product name based on raw data format</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TLN">
				<xs:annotation>
					<xs:documentation>Is typed location name</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LNC">
				<xs:annotation>
					<xs:documentation>Remark contains a component of the location name as defined in station raw data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="IconType">
		<xs:sequence>
			<xs:element name="foregroundColor" type="RGBAColorType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Text color</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="backgroundColor" type="RGBAColorType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Background color</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="borderColor" type="RGBAColorType" minOccurs="0" >
				<xs:annotation>
					<xs:documentation>Border color</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="res" type="xs:string">
			<xs:annotation>
				<xs:documentation>Resource description or name</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="txt" type="xs:string">
			<xs:annotation>
				<xs:documentation>Text</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="txtS" type="xs:string">
			<xs:annotation>
				<xs:documentation>Short text</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="style" default="U" type="IconStyleType">
			<xs:annotation>
				<xs:documentation>Text style</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="shape" default="U" type="IconShapeType">
			<xs:annotation>
				<xs:documentation>Icon shape</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="shapeRes" type="xs:string">
			<xs:annotation>
				<xs:documentation>Shape description. Only relevant if @shape equals RES</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="IconStyleType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Unknown text style</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="N">
				<xs:annotation>
					<xs:documentation>Normal</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="B">
				<xs:annotation>
					<xs:documentation>Bold</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="I">
				<xs:annotation>
					<xs:documentation>Italic</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="BI">
				<xs:annotation>
					<xs:documentation>Bold Italic</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="IconShapeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Unknown shape</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="R">
				<xs:annotation>
					<xs:documentation>Rectangle</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="C">
				<xs:annotation>
					<xs:documentation>Circle</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RES">
				<xs:annotation>
					<xs:documentation>Use shape described in @shapeRes</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="B">
				<xs:annotation>
					<xs:documentation>Bar</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="H">
				<xs:annotation>
					<xs:documentation>Hexagon</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="RGBAColorType">
		<xs:attribute name="r">
			<xs:annotation>
				<xs:documentation>Red</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:int">
					<xs:minInclusive value="0"/>
					<xs:maxInclusive value="255"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="g">
			<xs:annotation>
				<xs:documentation>Green</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:int">
					<xs:minInclusive value="0"/>
					<xs:maxInclusive value="255"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="b">
			<xs:annotation>
				<xs:documentation>Blue</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:int">
					<xs:minInclusive value="0"/>
					<xs:maxInclusive value="255"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="a">
			<xs:annotation>
				<xs:documentation>Alpha</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:int">
					<xs:minInclusive value="0"/>
					<xs:maxInclusive value="255"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="hex" type="hexColorType"/>
	</xs:complexType>

	<xs:simpleType name="hexColorType">
		<xs:annotation>
			<xs:documentation>The color entity indicates the color of an element.
				Color may be represented as hexadecimal RGB triples, as in HTML, or
				as hexadecimal ARGB tuples, with the A indicating alpha of
				transparency. An alpha value of 00 is totally transparent; FF is
				totally opaque. If RGB is used, the A value is assumed to be FF. For
				instance, the RGB value "#800080" represents purple. An ARGB value of
				"#40800080" would be a transparent purple.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:pattern value="#[\dA-F]{6}([\dA-F][\dA-F])?" />
		</xs:restriction>
	</xs:simpleType>

	<!--  -->
	<xs:complexType name="PolylineGroup">
		<xs:sequence>
			<xs:element name="polylineDesc" type="PolylineDesc" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of polyline descriptions.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="coordType" type="CoordType" use="optional" default="WGS84">
			<xs:annotation>
				<xs:documentation>Type of coordinate system.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="layerName" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Display name of layer.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="PolylineDesc">
		<xs:annotation>
			<xs:documentation>Describes a polyline structure</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="crd" type="xs:double" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of coordinates. Attribute "dim" defines how many items are used to build one coordinate
						tuple. In case of dim=3, z is in meter per default.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="optional" />
		<xs:attribute name="delta" type="xs:boolean" use="required">
			<xs:annotation>
				<xs:documentation>true: After the first item of the coordinates list only diff values are listed. false: list of
					coordinates contains complete coordinates.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dim" type="xs:int" use="optional" default="2">
			<xs:annotation>
				<xs:documentation>Count of coordinate elements building one coordinate tuple. (2: x1, y1, x2, y2, ...; 3: x1, y1,
					z1, x2, y2, z2, ...)</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="crdEncYX" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Encoded YX coordinate values.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="crdEncZ" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Encoded Z coordinate values.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="crdEncS" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Encoded quantifier.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="Polyline">
		<xs:sequence>
			<xs:element name="crd" type="xs:double" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of coordinates. Attribute "dim" defines how many items are used to build one
						coordinate
						tuple.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="optional"/>
		<xs:attribute name="delta" type="xs:boolean" use="required">
			<xs:annotation>
				<xs:documentation>true: After the first item of the coordinates list only diff values are listed. false:
					list of
					coordinates contains complete coordinates.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dim" type="xs:int" use="optional" default="2">
			<xs:annotation>
				<xs:documentation>Count of coordinate elements building one coordinate tuple. (2: x1, y1, x2, y2, ...;
					3: x1, y1,
					z1, x2, y2, z2, ...)
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="CoordType" use="optional" default="WGS84"/>
		<xs:attribute name="crdEncYX" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Encoded YX coordinate values.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="crdEncZ" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Encoded Z coordinate values.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="crdEncS" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Encoded quantifier.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="CoordType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="WGS84">
				<xs:annotation>
					<xs:appinfo>
            			<jaxb:typesafeEnumMember name="WGS84" />
          			</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PLANAR"/>
			<xs:enumeration value="HAFASGEO"/>
		</xs:restriction>
	</xs:simpleType>
	<!--  -->
	<xs:element name="MultiBoard">
		<xs:annotation>
			<xs:documentation>Lists multiple arrival or departure boards.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="ArrivalBoard" minOccurs="0"/>
				<xs:element ref="DepartureBoard" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--  -->
	<xs:element name="ArrivalBoard">
		<xs:annotation>
			<xs:documentation>The arrival board lists arrivals at a specific stop/station or group of stop/stations.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence minOccurs="0">
						<xs:element ref="Arrival" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The element Arrival contains all information about a arrival like
									time, date,
									stop/station name,
									track, realtime time, date and track, origin, name and type of the journey. It also
									contains
									a reference to
									journey details.
								</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element ref="Message" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="stopid" type="xs:string">
						<xs:annotation>
							<xs:documentation>Contains the ID of the stop/station.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="stopExtId" type="xs:string">
						<xs:annotation>
							<xs:documentation>External ID of this stop/station</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="Arrival" type="Arrival">
		<xs:annotation>
			<xs:documentation>The element Arrival contains all information about a arrival like time, date, stop/station
				name,
				track, realtime time, date and track, origin, name and type of the journey. It also contains a reference
				to journey
				details.
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="Arrival">
		<xs:sequence>
			<xs:element name="OriginStop" type="StopType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="DestinationStop" type="StopType" minOccurs="0" maxOccurs="1"/>
			<xs:element ref="JourneyDetailRef"/>
			<xs:element name="JourneyStatus" type="JourneyStatusType" minOccurs="0"/>
			<xs:element name="ProductAtStop" type="ProductType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Product information at the requested arrival stop.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Product" type="ProductType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Product information from first stop of the service to the
					requested arrival stop. In case of product information changes along, multiple
					entries are possible.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Notes" minOccurs="0"/>
			<xs:element ref="Messages" minOccurs="0"/>
			<xs:element ref="Directions" minOccurs="0"/>
			<xs:element name="altId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Alternative IDs for this arrival location.
						These might not be applicable when doing follow-up requests</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mainMastAltId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Deprecated. Use mainMast structure instead.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Stops" minOccurs="0"/>
			<xs:element name="Occupancy" type="OccupancyType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="referencedJourney" type="ReferencedJourneyType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Referenced journeys</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="platform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="rtPlatform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="mainMast" type="StopLocation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Main mast information in case this arrvial station belongs to such.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="globalId" type="JourneyGlobalIdType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of global ids of the journey.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.Arrival"/>
	</xs:complexType>
	<xs:element name="Notes">
		<xs:annotation>
			<xs:documentation>Contains a text with notes to be displayed for this leg, like attributes or footnotes.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Note" type="Note" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="Note">
		<xs:annotation>
			<xs:documentation>Note to be displayed</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="attlist.Note"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:attributeGroup name="attlist.Note">
		<xs:attribute name="key">
			<xs:annotation>
				<xs:documentation>An identifier of this note.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="NoteType" default="U">
			<xs:annotation>
				<xs:documentation>The type of this note.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="priority" type="xs:int" default="100">
			<xs:annotation>
				<xs:documentation>The priority of this note. A lower priority value means a higher importance.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="url">
			<xs:annotation>
				<xs:documentation>URL for this note</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxFrom" type="xs:int">
			<xs:annotation>
				<xs:documentation>First stop/station where this note is valid. See the Stops list in the JourneyDetail
					response for
					this leg to get more details about this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxTo" type="xs:int">
			<xs:annotation>
				<xs:documentation>Last stop/station where this note is valid. See the Stops list in the JourneyDetail
					response for
					this leg to get more details about this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>

		<xs:attribute name="txtN" type="xs:string">
			<xs:annotation>
				<xs:documentation>Normal version of this notes text.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="txtL" type="xs:string">
			<xs:annotation>
				<xs:documentation>Long version of this notes text.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="txtS" type="xs:string">
			<xs:annotation>
				<xs:documentation>Short version of this notes text.</xs:documentation>
			</xs:annotation>
		</xs:attribute>

		<xs:attribute name="rtActivated" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>Indicates that the attribute was activated by realtime.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDeactivated" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>Indicates that the attribute was deactivated by realtime.</xs:documentation>
			</xs:annotation>
		</xs:attribute>

	</xs:attributeGroup>
	<xs:attributeGroup name="attlist.Arrival">
		<xs:attribute name="name" use="required">
			<xs:annotation>
				<xs:documentation>Specifies the name of the arriving journey (e.g. "Bus 100") as used for display.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" use="required">
			<xs:annotation>
				<xs:documentation>The attribute type specifies the type of arrivals location. Valid values are ST (stop/station),
                    ADR (address), POI (point of interest), CRD (coordinate), MCP (mode change point) or HL (hailing point).
                </xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="ST"/>
					<xs:enumeration value="ADR"/>
					<xs:enumeration value="POI"/>
					<xs:enumeration value="CRD"/>
					<xs:enumeration value="MCP"/>
					<xs:enumeration value="HL"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="stop" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the name of the stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="stopid" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the ID of the stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="stopExtId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>External ID of this stop/station</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 longitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 latitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>The altitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>True if this stop is a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hasMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. True if this stop belongs to a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastId" type="xs:string">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastExtId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. External ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 longitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 latitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastAlt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The altitude of the geographical position of the main mast this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="prognosisType" type="PrognosisType" use="optional">
			<xs:annotation>
				<xs:documentation>Prognosis type of arrival date and time.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="time" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="date" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="scheduledTimeChanged" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Scheduled time changed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="tz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Time zone information in the format +/- minutes</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="track" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Arrival track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if track information is hidden by data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTime" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime time in format hh:mm[:ss] if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDate" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime date in format YYYY-MM-DD, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Realtime timezone in the format +/- minutes, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTrack" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTrackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if track information is hidden by realtime data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is cancelled</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="partCancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is partially cancelled.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="reachable" type="xs:boolean" use="optional" default="true">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is reachable. A journey is considered reachable if either the follow-up journey
				 is reachable based on the scheduled time (default without realtime) or the followup journey is not reachable regarding realtime
				 situation but reported as reachable explicitly.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="redirected" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is redirected. A journey is considered as redirected if
				structural changes (e.g. additional/removed stop, change of scheduled times, ...) have been made.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="uncertainDelay" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>The journey stopped or is waiting somewhere along its path and some journey stops contain an uncertain delay.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="origin" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Origin of the journey. This is the first stop of the journey. Get the full journey of
					the train or
					bus with the JourneyDetails service.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="directionFlag" type="xs:string">
			<xs:annotation>
				<xs:documentation>Direction flag of the journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isBorderStop" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is a border stop</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isTurningPoint" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is a turning point</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="entry" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>True, if the stop is an entry point.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtCnclDataSourceType" type="RealtimeDataSourceType" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime data source that the stop cancellation originates from</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:complexType name="ProductType">
		<xs:annotation>
			<xs:documentation>Product context, provides access to internal data. For the product category attributes,
				their assignments are defined in the "zugart" file from the raw Hafas plan data.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="icon" type="IconType" minOccurs="0" maxOccurs="1" />
			<xs:element name="status" type="ProductStatusType" minOccurs="0" maxOccurs="1" />
			<xs:element name="fromLocation" type="StopType" minOccurs="0" maxOccurs="1" />
			<xs:element name="toLocation" type="StopType" minOccurs="0" maxOccurs="1" />
			<xs:element name="operatorInfo" type="OperatorType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="Note" type="Note" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Message" type="Message" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="LineInfo" type="LineType" minOccurs="0" maxOccurs="1"/>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Product name for display. The name might be composed from product number, line and/or
					category. This is customer specific.

					In case of a non public transport product like bike, car, taxi or walk, this field is filled with
					a localized value for the specific type. Same for check-in or check-out.

					Samples:

					- Walk -> Chemin piéton (French), Gå (Danish)...
					- Transfer -> Transfert (French), Gå (Udveksling)...

					Those localizations can be configured in the underlying HAFAS system.

					In case of a sharing provider, this field might be filled with provider name if data covers that.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="internalName" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Internal product name. Not used for display. Used e.g. in reconstruction services.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="addName" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Additional product name. This is customer specific.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="displayNumber" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Number for display</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="num" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Internal product number (e.g. train number)</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="line" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Line name if available (e.g. "R10")</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lineId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>External line id for use in further requests</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lineHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Flags, whether the given line data is from a hidden line</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="catOut" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Product category name as used for display in standard form.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="catIn" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Internal product category name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="catCode" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Product category code.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cls" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Product category in decimal form.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="catOutS" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Product category name for display in short form.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="catOutL" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Product category name for display in long form.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="operatorCode" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated since 2.31. Use operator.nameS. The operator code.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="operator" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated since 2.31. Use operator.name. The operator name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="admin" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The administration name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxFrom" type="xs:int" default="-1">
			<xs:annotation>
				<xs:documentation>Defines the first stop/station where this name is valid. See the Stops list for details of the
					stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxTo" type="xs:int" default="-1">
			<xs:annotation>
				<xs:documentation>Defines the last stop/station where this name is valid. See the Stops list for details of the
					stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="matchId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The match ID.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<!-- customer specific -->
		<xs:attribute name="tarGr" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Tariff group.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="surcharge" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Flag indicating surcharge.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="outCtrl" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Control flag for train name output.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="locTraffic" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Flag indicating local traffic.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="shipTraffic" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Flag indicating product relates to shipping traffic.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:element name="JourneyDetailRef">
		<xs:annotation>
			<xs:documentation>Reference to journey details of this leg.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attributeGroup ref="attlist.JourneyDetailRef"/>
		</xs:complexType>
	</xs:element>
	<xs:attributeGroup name="attlist.JourneyDetailRef">
		<xs:attribute name="ref" use="required">
			<xs:annotation>
				<xs:documentation>Contains an internal journey id which must use for a subsequent journey detail
					request.
				</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:simpleType name="PrognosisType">
		<xs:annotation>
			<xs:documentation>PrognosisType provides the type of the prognosis like if the prognosis was reported by an
				external
				provider or calculated or corrected by the system.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="PROGNOSED">
				<xs:annotation>
					<xs:documentation>Prognosis was reported from an external provider as a prognosis for the future.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="MANUAL">
				<xs:annotation>
					<xs:documentation>Prognosis was reported from an external provider from a manual entry.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="REPORTED">
				<xs:annotation>
					<xs:documentation>Prognosis was reported from an external provider as a delay for previously passed
						stations.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CORRECTED">
				<xs:annotation>
					<xs:documentation>Prognosis was corrected by the system to adjust the prognoses over the train's
						journey to ensure
						proper continuation.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CALCULATED">
				<xs:annotation>
					<xs:documentation>Prognosis was calculated by the system for upcoming stations or to fill gaps for
						previously
						passed stations where no delay was reported.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="CombinedProductType">
		<xs:sequence>
			<xs:element name="Product" type="ProductType" minOccurs="1" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of journey products for a journey section.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<!-- ffff -->
	<xs:element name="DepartureBoard">
		<xs:annotation>
			<xs:documentation>The departure board lists departures at a specific stop/station or group of stop/stations.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence minOccurs="0">
						<xs:element ref="Departure" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>The element Departure contains all information about a departure like
									time,
									date, stop/station
									name, track, realtime time, date and track, direction, name and type of the journey.
									It also
									contains a reference
									to journey details.
								</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element ref="Message" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="stopid" type="xs:string">
						<xs:annotation>
							<xs:documentation>Contains the ID of the stop/station.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="stopExtId" type="xs:string">
						<xs:annotation>
							<xs:documentation>External ID of this stop/station</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="Departure" type="Departure">
		<xs:annotation>
			<xs:documentation>The element Departure contains all information about a departure like time, date,
				stop/station
				name, track, realtime time, date and track, direction, name and type of the journey. It also contains a
				reference to
				journey details.
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="Departure">
		<xs:sequence>
			<xs:annotation>
				<xs:documentation>Product context, provides access to internal data</xs:documentation>
			</xs:annotation>
			<xs:element name="OriginStop" type="StopType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="DestinationStop" type="StopType" minOccurs="0" maxOccurs="1"/>
			<xs:element ref="JourneyDetailRef"/>
			<xs:element name="JourneyStatus" type="JourneyStatusType" minOccurs="0"/>
			<xs:element name="ProductAtStop" type="ProductType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Product information at the requested departure stop.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Product" type="ProductType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Product information from requested departure stop to the
					last stop of the service. In case of product information changes along, multiple
					entries are possible.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Notes" minOccurs="0"/>
			<xs:element ref="Messages" minOccurs="0"/>
			<xs:element ref="Directions" minOccurs="0"/>
			<xs:element name="altId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Alternative IDs for this departure location.
						These might not be applicable when doing follow-up requests</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mainMastAltId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Deprecated. Use mainMast structure instead.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Stops" minOccurs="0"/>
			<xs:element name="Occupancy" type="OccupancyType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ParallelJourneyRef" type="ParallelJourneyRefType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="referencedJourney" type="ReferencedJourneyType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Referenced journeys</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="platform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="rtPlatform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="mainMast" type="StopLocation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Main mast information in case this departure station belongs to such.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="globalId" type="JourneyGlobalIdType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of global ids of the journey.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.Departure"/>
	</xs:complexType>
	<xs:attributeGroup name="attlist.Departure">
		<xs:attribute name="name" use="required">
			<xs:annotation>
				<xs:documentation>Specifies the name of the departing journey (e.g. "Bus 100") as used for display.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" use="required">
			<xs:annotation>
				<xs:documentation>The attribute type specifies the type of departs location. Valid values are ST (stop/station),
                    ADR (address), POI (point of interest), CRD (coordinate), MCP (mode change point) or HL (hailing point).
                </xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="ST"/>
					<xs:enumeration value="ADR"/>
					<xs:enumeration value="POI"/>
					<xs:enumeration value="CRD"/>
					<xs:enumeration value="MCP"/>
					<xs:enumeration value="HL"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="stop" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the name of the stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="stopid" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the ID of the stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="stopExtId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>External ID of this stop/station</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 longitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 latitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>The altitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>True if this stop is a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hasMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>True if this stop belongs to a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastId" type="xs:string">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastExtId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. External ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 longitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 latitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastAlt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The altitude of the geographical position of the main mast this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="prognosisType" type="PrognosisType" use="optional">
			<xs:annotation>
				<xs:documentation>Prognosis type of departure date and time.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="time" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="scheduledTimeChanged" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Scheduled time changed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="date" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="tz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Time zone information in the format +/- minutes</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="track" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if track information is hidden by data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTime" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime time in format hh:mm[:ss] if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDate" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime date in format YYYY-MM-DD, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Realtime time zone information in the format +/- minutes, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTrack" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTrackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if track information is hidden by realtime data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is cancelled</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="partCancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is partially cancelled.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="reachable" type="xs:boolean" use="optional" default="true">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is reachable. A journey is considered reachable if either the follow-up journey
				 is reachable based on the scheduled time (default without realtime) or the followup journey is not reachable regarding realtime
				 situation but reported as reachable explicitly.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="redirected" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is redirected. A journey is considered as redirected if
				structural changes (e.g. additional/removed stop, change of scheduled times, ...) have been made.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="direction" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Direction information. This is the last stop of the journey. Get the full journey of
					the train or
					bus with the JourneyDetails service.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="directionFlag" type="xs:string">
			<xs:annotation>
				<xs:documentation>Direction flag of the journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="directionExtId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>External ID of direction stop/station</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="timeAtArrival" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Time in format hh:mm[:ss] the services arrives at the destination.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dateAtArrival" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Date in format YYYY-MM-DD the services arrives at the destination.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTimeAtArrival" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime time in format hh:mm[:ss] the services arrives at the destination.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDateAtArrival" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime date in format YYYY-MM-DD the services arrives at the destination.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isFastest" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>Services is 'fastest service to' location.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isBorderStop" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is a border stop</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isTurningPoint" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is a turning point</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="entry" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>True, if the stop is an entry point.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtCnclDataSourceType" type="RealtimeDataSourceType" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime data source that the stop cancellation originates from</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="uncertainDelay" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>The journey stopped or is waiting somewhere along its path and some journey stops contain an uncertain delay.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<!--  -->

	<xs:element name="JourneyDetailGroupList">
		<xs:annotation>
			<xs:documentation>A list of grouped detailed journeys.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element ref="JourneyDetailGroup" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="JourneyDetailGroup">
		<xs:annotation>
			<xs:documentation>A group of detailed journeys.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="JourneyDetail" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>Name of this group.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="nameS" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>Short name of this group.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>

	<xs:element name="JourneyDetailList">
		<xs:annotation>
			<xs:documentation>A list of detailed journeys.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element ref="JourneyDetail" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="JourneyDetail" type="JourneyDetail">
		<xs:annotation>
			<xs:documentation>The journey details contain a list of stops/stations and notes. They also contain the
				journeys
				names and types.
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:complexType name="JourneyDetail">
		<xs:complexContent>
			<xs:extension base="CommonResponseType">
				<xs:sequence minOccurs="0">
					<xs:element ref="Stops"/>
					<xs:element ref="Names" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Deprecated. Use Product* instead.
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Product" type="ProductType" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="Directions" minOccurs="0"/>
					<xs:element ref="Notes" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Contains notes to be displayed for this trip like attributes or
								footnotes.
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element ref="Messages" minOccurs="0"/>
					<xs:element name="JourneyStatus" type="JourneyStatusType" minOccurs="0"/>
					<xs:element name="Polyline" type="Polyline" minOccurs="0"/>
					<xs:element name="PolylineGroup" type="PolylineGroup" minOccurs="0" />
					<xs:element ref="ServiceDays" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="referencedJourney" type="ReferencedJourneyType" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Referenced journeys</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="lastPos" type="Coordinate" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Last position of running journey if any.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="lastPosReported" type="xs:dateTime" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Date and time of last position reported if any.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="lastPassRouteIdx" type="xs:int" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Last passed stop referencing the route index of that stop, even if out
								of this
								part of the journey.
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="lastPassStopRef" type="xs:int" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Last passed stop referencing the entry index in the stop list, even if
								out of
								this part of the journey.
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="rtLastPassRouteIdx" type="xs:int" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Last passed stop referencing the route index of that stop, even if out
								of this
								part of the journey, real time situation.
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="rtLastPassStopRef" type="xs:int" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Last passed stop referencing the entry index in the stop list, even if
								out of
								this part of the journey.
							</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ParallelJourneyRef" type="ParallelJourneyRefType" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="globalId" type="JourneyGlobalIdType" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>List of global ids of the journey.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
				<xs:attributeGroup ref="attlist.JourneyDetail"/>
				<xs:attributeGroup ref="attlist.JourneyDetailRef"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:attributeGroup name="attlist.JourneyDetail">
		<xs:attribute name="cancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is cancelled.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="partCancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is partially cancelled.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="reachable" type="xs:boolean" use="optional" default="true">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is reachable. A journey is considered reachable if either the follow-up journey
				 is reachable based on the scheduled time (default without realtime) or the followup journey is not reachable regarding realtime
				 situation but reported as reachable explicitly.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="redirected" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is redirected. A journey is considered as redirected if
				structural changes (e.g. additional/removed stop, change of scheduled times, ...) have been made.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="uncertainDelay" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>The journey stopped or is waiting somewhere along its path and some journey stops contain an uncertain delay.</xs:documentation>
			</xs:annotation>
		</xs:attribute>

		<xs:attribute name="dayOfOperation" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Date on which the journey departs at the first
					passlist stop of the full journey. Is in no way guaranteed to be
					related to the times of the passlist stops in any way.
					Date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		
		<xs:attribute name="parallelJourneyLinkType" type="ParallelJourneyLinkTypeType" use="optional">
			<xs:annotation>
				<xs:documentation>Parallel journey link type.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:element name="Stops">
		<xs:annotation>
			<xs:documentation>The list of journey stops/stations.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Stop" type="StopType" minOccurs="2" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="StopType">
		<xs:annotation>
			<xs:documentation>The element Stop contains the name of the stop/station, the route index, the latitude, the
				longitude, the departure time and date, the arrival time and date, the track, the realtime departure
				time and
				date, the realtime arrival time and date and the realtime track.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="Notes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains a list of notes to be displayed for this location, like attributes or
						footnotes.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="altId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Alternative IDs for this stop.
						These might not be applicable when doing follow-up requests</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mainMastAltId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Deprecated. Use mainMast structure instead.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Occupancy" type="OccupancyType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="arrPlatform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="rtArrPlatform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="depPlatform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="rtDepPlatform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="weatherInformation" type="WeatherInformationType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Weather information for the given location - This is a list to support multiple information for one day or a 10-day-forecast or else. In the trivial case where the
					weather is requested for a specific point in time, this will only contain a single element.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mainMast" type="StopLocation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Main mast information in case this stop belongs to such.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.Stop"/>
	</xs:complexType>
	<xs:attributeGroup name="attlist.Stop">
		<xs:attribute name="name" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the name of the stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="description" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Additional description of location, e.g. address</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="id" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the ID of the stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="extId" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the external ID of the stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdx" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Route index of a stop/station. Usually starting from 0 and incrementing by 1. If the
					route index
					value jumps, it is most likely that the journey was rerouted.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 longitude of the geographical position of the stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 latitude of the geographical position of the stop/station</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>The altitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrPrognosisType" type="PrognosisType" use="optional">
			<xs:annotation>
				<xs:documentation>Prognosis type of arrival date and time.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="depPrognosisType" type="PrognosisType" use="optional">
			<xs:annotation>
				<xs:documentation>Prognosis type of departure date and time.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="depTime" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Departure time in format hh:mm[:ss], if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="depDate" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Departure date in format YYYY-MM-DD, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="depTz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Departure time zone information in the format +/- minutes</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="scheduledDepTimeChanged" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Scheduled departure time changed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrTime" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Arrival time in format hh:mm[:ss], if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrDate" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Arrival date in format YYYY-MM-DD, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrTz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Arrival time zone information in the format +/- minutes</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="scheduledArrTimeChanged" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Scheduled arrival time changed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="passingTime" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Passing time in format hh:mm[:ss], if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="passingDate" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Passing date in format YYYY-MM-DD, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="passingTz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Passing time zone information in the format +/- minutes</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrTrack" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Arrival track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrTrackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if arrival track information is hidden by data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="depTrack" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Departure track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="depTrackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if departure track information is hidden by data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDepTime" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime departure time in format hh:mm[:ss] if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDepDate" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime departure date in format YYYY-MM-DD, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDepTz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Realtime departure time zone information in the format +/- minutes, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtArrTime" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime arrival time in format hh:mm[:ss] if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtArrDate" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime arrival date in format YYYY-MM-DD, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtArrTz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Realtime arrival time zone information in the format +/- minutes, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtArrTrack" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime arrival track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtArrTrackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if arrival track information is hidden by realtime data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDepTrack" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime departure track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDepTrackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if track information is hidden by realtime data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtPassingTime" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime passing time in format hh:mm[:ss], if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtPassingDate" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime passing date in format YYYY-MM-DD, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtPassingTz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Realtime passing time zone information in the format +/- minutes, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if arrival or departure or both at this stop is cancelled</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cancelledDeparture" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if departure at this stop is cancelled</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cancelledArrival" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if arrival at this stop is cancelled</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>True if this stop is a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hasMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. True if this stop belongs to a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastId" type="xs:string">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastExtId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. External ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 longitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 latitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastAlt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The altitude of the geographical position of the main mast this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alighting" type="xs:boolean" default="true" use="optional">
			<xs:annotation>
				<xs:documentation>True if alighting is allowed by scheduled data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="boarding" type="xs:boolean" default="true" use="optional">
			<xs:annotation>
				<xs:documentation>True if boarding is allowed by scheduled data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtAlighting" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>True if alighting is allowed by realtime data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtBoarding" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>True if boarding is allowed by realtime data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="additional" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is an additional stop</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isBorderStop" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is a border stop</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isTurningPoint" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is a turning point</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrHide" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>If true, hide arrival times and track information.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="depHide" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>If true, hide departure times and track information.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="depDir" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Direction information.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="entry" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>True, if the stop is an entry point.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtCnclDataSourceType" type="RealtimeDataSourceType" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime data source that the stop cancellation originates from</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrUncertainDelay" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>The journey stopped or is waiting and the stop has an uncertain delay.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="depUncertainDelay" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>The journey stopped or is waiting and the stop has an uncertain delay.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="minimumChangeDuration" type="xs:duration">
		    <xs:annotation>
		        <xs:documentation>Minimum duration to change at this stop/station.</xs:documentation>
		    </xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>

	<xs:complexType name="PlatformType">
		<xs:annotation>
			<xs:documentation>Platform information</xs:documentation>
		</xs:annotation>

		<xs:sequence>
			<xs:element name="altId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Alternative IDs for the stop/station this platform belongs to.
						These might not be applicable when doing follow-up requests</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>

		<xs:attribute name="type" type="PlatformTypeType" default="U" use="optional">
			<xs:annotation>
				<xs:documentation>Display text.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="text" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Display text.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if track information is marked as hidden.</xs:documentation>
			</xs:annotation>
		</xs:attribute>

		<xs:attribute name="lon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 longitude of the geographical position.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 latitude of the geographical position.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>The altitude of the geographical position.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="PlatformTypeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Undefinded</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PL">
				<xs:annotation>
					<xs:documentation>Platform/track at train station</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ST">
				<xs:annotation>
					<xs:documentation>Stop at bus or tram station</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="GA">
				<xs:annotation>
					<xs:documentation>Terminal/Gate at airport</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PI">
				<xs:annotation>
					<xs:documentation>Pier if ship or ferry</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SL">
				<xs:annotation>
					<xs:documentation>Slot/parking space if bike or car </xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FL">
				<xs:annotation>
					<xs:documentation>Floor in buildings or at footpath</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CI">
				<xs:annotation>
					<xs:documentation>Check-in/entrance</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CO">
				<xs:annotation>
					<xs:documentation>Check-out/exit</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="X">
				<xs:annotation>
					<xs:documentation>No explicit type</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="H">
				<xs:annotation>
					<xs:documentation>Hide platform information</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>


	<xs:element name="Directions">
		<xs:annotation>
			<xs:documentation>The list of journey directions.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Direction" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Direction">
		<xs:annotation>
			<xs:documentation>Direction information. This is usually the last stop of the journey.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attributeGroup ref="attlist.Direction"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:attributeGroup name="attlist.Direction">
		<xs:attribute name="flag" type="xs:string">
			<xs:annotation>
				<xs:documentation>Direction flag of the journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxFrom" type="xs:int" default="-1">
			<xs:annotation>
				<xs:documentation>Defines the first stop/station where this type is valid. See the Stops list for
					details of the
					stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxTo" type="xs:int" default="-1">
			<xs:annotation>
				<xs:documentation>Defines the last stop/station where this type is valid. See the Stops list for details
					of the
					stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:element name="Messages">
		<xs:annotation>
			<xs:documentation>Contains messages.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Message" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:attributeGroup name="attlist.Message">
		<xs:attribute name="id" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>ID of the message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="externalId" type="xs:string">
			<xs:annotation>
				<xs:documentation>External ID of the message if based on an external system.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="act" type="xs:boolean" default="true">
			<xs:annotation>
				<xs:documentation>If message is active, value is true.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="head" type="xs:string">
			<xs:annotation>
				<xs:documentation>Heading of message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lead" type="xs:string">
			<xs:annotation>
				<xs:documentation>Preamble of message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="text" type="xs:string">
			<xs:annotation>
				<xs:documentation>Message text.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="textInternal" type="xs:string">
			<xs:annotation>
				<xs:documentation>Internal message text.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="customText" type="xs:string">
			<xs:annotation>
				<xs:documentation>Custom text.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="tckr" type="xs:string">
			<xs:annotation>
				<xs:documentation>Deprecated. Message text for ticker display.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="company" type="xs:string">
			<xs:annotation>
				<xs:documentation>Company whom created this message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="category" type="xs:string">
			<xs:annotation>
				<xs:documentation>Deprecated. See Message/MessageCategory. For sanity reason, id of first MessageCategory ist filled here.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="priority" type="xs:int" default="100">
			<xs:annotation>
				<xs:documentation>Priority of the message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="products" type="xs:int">
			<xs:annotation>
				<xs:documentation>This value specifies the products affected by this message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="icon" type="xs:string"/>
		<xs:attribute name="routeIdxFrom" type="xs:int">
			<xs:annotation>
				<xs:documentation>First stop/station where this message is valid. See the Stops list in the
					JourneyDetail response
					for this leg to get more details about this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxTo" type="xs:int">
			<xs:annotation>
				<xs:documentation>Last stop/station where this message is valid. See the Stops list in the JourneyDetail
					response
					for this leg to get more details about this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period beginning time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period beginning date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="eTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period ending time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="eDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period ending date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="altStart" type="xs:string">
			<xs:annotation>
				<xs:documentation>Descriptive text for start of event period.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="altEnd" type="xs:string">
			<xs:annotation>
				<xs:documentation>Descriptive text for end of event period.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="modTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>Message was last modified at time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="modDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>Message was last modified at date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dailyStartingAt" type="xs:string">
			<xs:annotation>
				<xs:documentation>Message event period starting at time daily in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dailyDuration" type="xs:duration">
			<xs:annotation>
				<xs:documentation>Message event period duration starting at dailyStartingAt for dailyDuration amount of time. Sample for 15 hours: PT15H. Duration type definition https://www.w3.org/TR/xmlschema11-2/#duration.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="baseType" type="MessageBaseType" default="UNDEF">
			<xs:annotation>
				<xs:documentation>Contains the base type of the message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="altSection" type="xs:string">
			<xs:annotation>
				<xs:documentation>Descriptive text for the section.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>

	<xs:simpleType name="MessageBaseType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNDEF">
				<xs:annotation>
					<xs:documentation>A more precise classification is not possible.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="GLOBAL">
				<xs:annotation>
					<xs:documentation>The HIM message is a global message.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="INFRASTRUCTURE">
				<xs:annotation>
					<xs:documentation>The HIM message is an infrastructural message.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:element name="Names">
		<xs:annotation>
			<xs:documentation>The list of journey names.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Name" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Name">
		<xs:annotation>
			<xs:documentation>Contains name of journey.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Product" type="ProductType" minOccurs="0"/>
			</xs:sequence>
			<xs:attributeGroup ref="attlist.Name"/>
		</xs:complexType>
	</xs:element>
	<xs:attributeGroup name="attlist.Name">
		<xs:attribute name="name" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Name to be displayed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="addName" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Additional product name. This is customer specific.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="number" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>The train number.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="category" type="xs:string">
			<xs:annotation>
				<xs:documentation>The train category.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxFrom" type="xs:int" default="-1">
			<xs:annotation>
				<xs:documentation>Defines the first stop/station where this name is valid. See the Stops list for
					details of the
					stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxTo" type="xs:int" default="-1">
			<xs:annotation>
				<xs:documentation>Defines the last stop/station where this name is valid. See the Stops list for details
					of the
					stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:element name="JourneyStatus">
		<xs:annotation>
			<xs:documentation>Contains the status of the journey.</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="P">
					<xs:annotation>
						<xs:documentation>Planned: A planned journey. This is also the default value.</xs:documentation>
					</xs:annotation>
				</xs:enumeration>
				<xs:enumeration value="R">
					<xs:annotation>
						<xs:documentation>Replacement: The journey was added as a replacement for a planned journey.</xs:documentation>
					</xs:annotation>
				</xs:enumeration>
				<xs:enumeration value="A">
					<xs:annotation>
						<xs:documentation>Additional: The journey is an additional journey to the planned journeys.</xs:documentation>
					</xs:annotation>
				</xs:enumeration>
				<xs:enumeration value="S">
					<xs:annotation>
						<xs:documentation>Special: This is a special journey. The exact definition which journeys are considered special
							up to the customer.</xs:documentation>
					</xs:annotation>
				</xs:enumeration>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>

	<xs:complexType name="ServiceDays">
		<xs:annotation>
			<xs:documentation>Regular service days describe a regular set of days.</xs:documentation>
			<xs:documentation>Irregular service days describe a different schedule of days.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="planningPeriodBegin" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Start of the planning period of this data in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="planningPeriodEnd" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>End of the planning period of this data in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sDaysR" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Regular service days.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sDaysI" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Irregular service days.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sDaysB" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Bit field of the service days in hex representation</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxFrom" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>First stop/station where this note is valid. See the Stops list in the
					JourneyDetail response for this leg to get more details about this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxTo" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Last stop/station where this note is valid. See the Stops list in the
					JourneyDetail response for this leg to get more details about this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:element name="ServiceDays" type="ServiceDays"/>

	<!--  -->
	<xs:element name="TripList" type="TripList">
		<xs:annotation>
			<xs:documentation>The trip list contains all found trips of that trip request. If a major error occured
				during the
				trip request, then the attributes errorCode and errorText are filled and no Trip is available.
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="TripList">
		<xs:complexContent>
			<xs:extension base="CommonResponseType">
				<xs:sequence>
					<xs:element ref="Trip" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Pricing" type="pricingType" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="SotContext" type="SotContextType" minOccurs="0" />
					<xs:element name="ResultStatus" type="ResultStatusType" minOccurs="0" />
					<xs:element name="Sorting" type="SortingType" minOccurs="0" />
				</xs:sequence>
				<xs:attributeGroup ref="attlist.TripList"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:attributeGroup name="attlist.TripList">
		<xs:attribute name="scrB" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The context for scroll request backward. Set the context attribute in a Trip request
					for finding
					earlier connections.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="scrF" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The context for scroll request forward. Set the context attribute in a Trip request
					for finding
					later connections.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="scrReturnB" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The context for scroll request backward for returning trips. Set the context attribute
					in a Trip
					request for finding earlier connections.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="scrReturnF" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The context for scroll request forward for returning trips. Set the context attribute
					in a Trip
					request for finding later connections.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:complexType name="pricingType">
		<xs:sequence>
			<xs:any/>
		</xs:sequence>
		<xs:attribute name="idx" type="xs:int" use="required"/>
	</xs:complexType>
	<xs:complexType name="SortingType">
		<xs:sequence>
			<xs:element name="SortingGroup" type="SortingGroupType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="initialSortingType" type="SortingMode" />
		<xs:attribute name="scrollable" type="xs:boolean" />
	</xs:complexType>
	<xs:complexType name="SortingGroupType">
		<xs:sequence>
			<xs:element name="tripId" type="xs:string" minOccurs="1" maxOccurs="unbounded" />
		</xs:sequence>
		<xs:attribute name="type" type="SortingMode" />
		<xs:attribute name="name" type="xs:string" />
	</xs:complexType>
	<xs:simpleType name="SortingMode">
		<xs:annotation>
			<xs:documentation></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="TI">
				<xs:annotation>
					<xs:documentation>Duration</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CO">
				<xs:annotation>
					<xs:documentation>Price</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CF">
				<xs:annotation>
					<xs:documentation>Comfort</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="UT">
				<xs:annotation>
					<xs:documentation>Usage time</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DT">
				<xs:annotation>
					<xs:documentation>Departure time</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="AT">
				<xs:annotation>
					<xs:documentation>Arrival time</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PT">
				<xs:annotation>
					<xs:documentation>Sorted by the relevant time: search for departure -> departure time, search for arrival -> arrival time</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CO2">
				<xs:annotation>
					<xs:documentation>CO2 emission</xs:documentation>
					<xs:appinfo>
            			<jaxb:typesafeEnumMember name="CO2" />
          			</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OC">
				<xs:annotation>
					<xs:documentation>Occupancy</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CAL">
				<xs:annotation>
					<xs:documentation>Evaluation according to the calories burned </xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="EcoType">
		<xs:sequence>
			<xs:element name="notableLocation" type="StopLocation" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Notable locations on the via connection, e.g. airports in a flight
						comparison connection</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="co2" type="xs:double">
			<xs:annotation>
				<xs:documentation>CO2 emission in kg</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="co2f" type="xs:double">
			<xs:annotation>
				<xs:documentation>CO2 emission, in operation only in kg</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="part" type="xs:double">
			<xs:annotation>
				<xs:documentation>Particulate matter emission (25). This value includes possible particulate matter emissions occurring
					when generating the energy used for the vehicle during the trip. For example, electric cars will still have a
					non-zero particulate matter emission although the vehicle doesn't emit anything but the electric energy used by the
					vehicle might be generated from coal power plants and those created emissions during energy generation. Unit is g.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="part10" type="xs:double">
			<xs:annotation>
				<xs:documentation>Particulate matter emission (10). This value includes possible particulate matter emissions occurring
					when generating the energy used for the vehicle during the trip. For example, electric cars will still have a
					non-zero particulate matter emission although the vehicle doesn't emit anything but the electric energy used by the
					vehicle might be generated from coal power plants and those created emissions during energy generation. Unit is g.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="partV" type="xs:double">
			<xs:annotation>
				<xs:documentation>Particulate matter emission per vehicle (25). This value contains only the emission generated by the
					vehicle on this trip. Emissions which were generated during generation of the energy used by the vehicle are
					ignored by this value. Unit is g.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="nmhc" type="xs:double">
			<xs:annotation>
				<xs:documentation>NMHC emission in g</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="nox" type="xs:double">
			<xs:annotation>
				<xs:documentation>NOX emission in g</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="prime" type="xs:double">
			<xs:annotation>
				<xs:documentation>PRIME emission, calculated in l petrol</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="primef" type="xs:double">
			<xs:annotation>
				<xs:documentation>PRIMEF emission, in operation only, calculated in l petrol</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="so2" type="xs:double">
			<xs:annotation>
				<xs:documentation>SO2 emission in g</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ubp" type="xs:double">
			<xs:annotation>
				<xs:documentation>environmental impact points 06</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dist" type="xs:int" use="optional" default="-1">
			<xs:annotation>
				<xs:documentation>Distance the emitting carrier is used in meter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="EcoTypeType" default="PUT">
			<xs:annotation>
				<xs:documentation>Type of emitting carrier.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="nmvoc" type="xs:double">
			<xs:annotation>
				<xs:documentation>NMVOC emission in g</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ubp13" type="xs:double">
			<xs:annotation>
				<xs:documentation>UBP measurement based on 2013 standard</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="co2el" type="xs:double">
			<xs:annotation>
				<xs:documentation>CO2 emission in g for electric vehicles</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="primeEnergy" type="xs:double">
			<xs:annotation>
				<xs:documentation>PRIME emission, in operation only, calculated in l petrol</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rating" type="xs:int">
			<xs:annotation>
				<xs:documentation>Rating of connection regarding its ecological values</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dur" type="xs:string">
			<xs:annotation>
				<xs:documentation>Deprecated. Use the duration instead with correct formatting. The duration of the underlying connection.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="duration" type="xs:duration">
			<xs:annotation>
				<xs:documentation>The duration of the underlying connection.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	
	<xs:simpleType name="EcoTypeType">
		<xs:annotation>
			<xs:documentation>Type of emitting carrier.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="PUT">
				<xs:annotation>
					<xs:documentation>Public transport.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PFT">
				<xs:annotation>
					<xs:documentation>Public flight transport.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PRT">
				<xs:annotation>
					<xs:documentation>Private transport.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="BEE">
				<xs:annotation>
					<xs:documentation>Estimation - Emission computed based on a reference value and beeline between start and destination.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PTM">
				<xs:annotation>
					<xs:documentation>Public transport plus external means of transport not provided by HAFAS.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="IMT">
				<xs:annotation>
					<xs:documentation>External means of transport not provided by HAFAS.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	
	<xs:element name="Trip" type="TripType">
		<xs:annotation>
			<xs:documentation>The element Trip contains a leg list of the computed trip.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="TripType">
		<xs:sequence minOccurs="0">
			<xs:element ref="Origin"/>
			<xs:element ref="Destination"/>
			<xs:element ref="Messages" minOccurs="0"/>
			<xs:element ref="Notes" minOccurs="0"/>
			<xs:element name="Eco" type="EcoType" minOccurs="0"/>
			<xs:element name="EcoCmp" type="EcoType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="ServiceDays" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Freq" type="FreqType" minOccurs="0"/>
			<xs:element ref="LegList">
				<xs:annotation>
					<xs:documentation>The element LegList contains all legs of the computed trip.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="TariffResult" minOccurs="0"/>
			<xs:element name="calculation" type="CalculationType" minOccurs="0" maxOccurs="1" />
			<xs:element name="Occupancy" type="OccupancyType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="reliability" type="ConnectionReliabilityType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Reliability of the connection or potential alternative connections that will indicate
					the likelihood of getting the user to the requested destination in time. Used in the
					time machine feature</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TripStatus" type="TripStatusType" minOccurs="0"/>
			<xs:element name="via" type="StopType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Contains via locations from the request in the order they were initially specified.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.Trip"/>
	</xs:complexType>
	<xs:attributeGroup name="attlist.Trip">
		<xs:attribute name="alternative" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>The type indicates whether this is an original connection or an realtime alternative.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hasAlternative" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>The type indicates whether this connection has an alternative or not.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="individualChangeTimes" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>The type indicates whether this trip is based on individual change times (true) or not (false). Default is false.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="valid" type="xs:boolean" use="optional" default="true">
			<xs:annotation>
				<xs:documentation>The state indicates if the trip is still possible to ride based on the current
					realtime situation.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hasDelayInfo" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Is set to true if delay prognoses are available for this connection.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="idx" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>The index of this trip in the result list. It corresponds to date and time order
					ascending; unique within the composite TripResponse.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="tripId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The trip id of this trip in the result list.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ctxRecon" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Information for trip reconstruction.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="duration" type="xs:duration">
			<xs:annotation>
				<xs:documentation>The duration of the trip.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dist" type="xs:int">
			<xs:annotation>
				<xs:documentation>Distance for this trip in meter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDuration" type="xs:duration">
			<xs:annotation>
				<xs:documentation>Realtime duration of the trip.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="return" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>true: indicates the trip is a return journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ecoUrl" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Contains a precalculated url.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="checksum" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Checksum of the trip to filter same results on client side after scroll requests.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
        <xs:attribute name="checksumDti" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation>Day-independent checksum of the connection. Can be used to
                    compare connections. Ends with '_version' of the checksum calculation.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="checksumSave" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation>Checksum of the connection considering times for GIS sections. Can be used to
                    compare connections. Ends with '_version' of the checksum calculation.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
		<xs:attribute name="transferCount" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Count of transfers.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="combinedCount" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Count of packed trips in case of interval result packing requested.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="combinedMinDuration" type="xs:duration" use="optional">
			<xs:annotation>
				<xs:documentation>Shortest duration of packed trip.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="calBurned" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Estimated amount of calories burned by using this trip in kcal.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>

	<xs:complexType name="TripStatusType">
		<xs:attribute name="detour" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Connection having detour</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="daily" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Daily</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="direct" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Direct connection</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="subOptimalDirect" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Suboptimal direct connection</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="slowDirect" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Overtaken/slower direct connection</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="economic" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Economic connection</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="convenient" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Convenient connection</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="specialtrain" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Special train</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ukNationalRouteingGuideFailure" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Connection is not conform to &quot;UK National Routeing Guide&quot;.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hint" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Hint</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hintCode" type="xs:int">
			<xs:annotation>
				<xs:documentation>
				510 ( incomplete reconstruction )
				500 ( too many trains, result shortened )
				480 ( geo coding warning, general )
				481 ( geo coding warning at origin )
				482 ( geo coding warning at destination )
				460 ( station served several times in trip )
				455 ( long stay at a single station )
				456 ( trip runs through country several times )
				410 ( trains are incomplete due planning period change )
				390 ( equivalent stop chosen )
				0 	( no hint )
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="unsharp" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Connection resulted from an unsharp search</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="timeDiffCritical" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Based on the configuration, this connection has a critical time difference, either to the search date/time or to a previous/subsequent connection.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:element name="LegList">
		<xs:annotation>
			<xs:documentation>The element LegList contains all legs of the computed trip.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Leg" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="FreqType">
		<xs:annotation>
			<xs:documentation>Alternatives for this leg by plan.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="journey" type="JourneyType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of alternative legs.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="waitMinimum" type="xs:int">
			<xs:annotation>
				<xs:documentation>Shortest wait time (in minutes).</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="waitMaximum" type="xs:int">
			<xs:annotation>
				<xs:documentation>Longest wait time (in minutes).</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alternativeCount" type="xs:int">
			<xs:annotation>
				<xs:documentation>Count of alternative legs.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:element name="Leg" type="Leg">
		<xs:annotation>
			<xs:documentation>A leg is one part of a trip. It can be either a walk, a bike or car ride or (in most
				cases) a journey by bus, train or some other means of transport.
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="Leg">
		<xs:sequence>
			<xs:element ref="Origin"/>
			<xs:element ref="Destination"/>
			<xs:element name="JourneyOrigin" type="OriginDestType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Represents the first stop of the unterlying journey in case of an public transport leg.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="JourneyDestination" type="OriginDestType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Represents the last stop of the unterlying journey in case of an public transport leg.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Notes" minOccurs="0"/>
			<xs:element name="Eco" type="EcoType" minOccurs="0"/>
			<xs:element ref="JourneyDetailRef" minOccurs="0"/>
			<xs:element name="Freq" type="FreqType" minOccurs="0"/>
			<xs:element ref="GisRef" minOccurs="0"/>
			<xs:element name="GisRoute" type="GisRouteType" minOccurs="0"/>
			<xs:element ref="Messages" minOccurs="0"/>
			<xs:element name="TrafficMessage" type="TrafficMessageType" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="JourneyStatus" type="JourneyStatusType" minOccurs="0"/>
			<xs:element name="Product" type="ProductType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="CombinedProduct" type="CombinedProductType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of products for all combined journeys attributed to this journey.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Polyline" type="Polyline" minOccurs="0"/>
			<xs:element name="PolylineGroup" type="PolylineGroup" minOccurs="0" />
			<xs:element ref="Stops" minOccurs="0"/>
			<xs:element ref="ServiceDays" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="JourneyDetail" minOccurs="0" maxOccurs="1" />
			<xs:element name="ParallelJourney" type="JourneyType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Occupancy" type="OccupancyType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="referencedJourney" type="ReferencedJourneyType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Referenced journeys</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ParallelJourneyRef" type="ParallelJourneyRefType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="globalId" type="JourneyGlobalIdType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of global ids of the journey.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.Leg"/>
	</xs:complexType>
	<xs:attributeGroup name="attlist.Leg">
		<xs:attribute name="id" use="required">
			<xs:annotation>
				<xs:documentation>Unique ID for the leg, relative to the trip. Not stable and only valid within the given response.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="idx" type="xs:int" use="required">
			<xs:annotation>
				<xs:documentation>Specifies the index of the leg starting from 0 and incrementing by 1. It corresponds
					to travel-order ascending; unique within composite Trip.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The attribute name specifies the name of the leg. The name might be composed from
					product number, line and/or category (e.g. "Bus 100"). This is customer specific.

					In case of a non public transport leg like bike, car, taxi or walk, this field is filled with
					a localized value for the specific type. Same for check-in or check-out.

					Samples:

					- Walk -> Chemin piéton (French), Gå (Danish)...
					- Transfer -> Transfert (French), Gå (Udveksling)...

					Those localizations can be configured in the underlying HAFAS system.

					In case of a sharing provider, this field might be filled with provider name if data covers that.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="addName" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Additional product name. This is customer specific.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="number" type="xs:string">
			<xs:annotation>
				<xs:documentation>The train number.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="category" type="xs:string">
			<xs:annotation>
				<xs:documentation>The train category name. The category assignments are stored in the "zugart" file of
					the raw Hafas
					plan data.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>The attribute type specifies the type of the leg. The value can be the JNY for
					public transport or WALK, TRSF (transfer), BIKE, KISS (car), PARK (Park and Ride) or TAXI,
					CHKI (check-in), CHKO (check-out), TETA (Tele taxi) or DUMMY (in case of not reconstructable leg).
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is cancelled.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="partCancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is partially cancelled.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="reachable" type="xs:boolean" use="optional" default="true">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is reachable. A journey is considered reachable if either the follow-up journey
				 is reachable based on the scheduled time (default without realtime) or the followup journey is not reachable regarding realtime
				 situation but reported as reachable explicitly.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="waiting" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Deprecated. Use waitingState instead. Will be true if this journey is actually waiting.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="waitingState" type="WaitingStateType">
			<xs:annotation>
				<xs:documentation>Waiting status of the journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="redirected" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is redirected. A journey is considered as redirected if
				structural changes (e.g. additional/removed stop, change of scheduled times, ...) have been made.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="direction" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Direction information. This will be the name of the last station of the train's
					journey. Call the JourneyDetail service to get detailed information about the train journey.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="directionFlag" type="xs:string">
			<xs:annotation>
				<xs:documentation>Direction flag of the journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="duration" type="xs:duration">
			<xs:annotation>
				<xs:documentation>The duration.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dist" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Distance for this leg in meter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hide" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this journey is hidden.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="psCtxArriveEarlier" type="xs:string">
			<xs:annotation>
				<xs:documentation>Provides a context that may be used in service PartialSearch to increase the time
				for interchange between the previous journey arrival stop and the following journey departure stop
				by searching a trip that will lead to an earlier arrival time for the previous journey while keeping
				the departure time for the following journey(s) constant.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="psCtxDepartLater" type="xs:string">
			<xs:annotation>
				<xs:documentation>Provides a context that may be used in service PartialSearch to increase the time
				for interchange between the previous journey arrival stop and the following journey departure stop
				by searching a trip that will lead to a later departure time for the following journey while keeping
				the arrival time for the previous journey(s) constant.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="recState" type="ReconstructionStateType">
			<xs:annotation>
				<xs:documentation>Contains the outcome information for the section, if it resulted from a reconstruction.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="changeAssured" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>Indicates whether a journey is reachable because the change is explicitly assured (true),
					not reachable because the change is explicitly not assured (false) or no relevant realtime information
					is available (no value set).
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="uncertainDelay" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>The journey stopped or is waiting somewhere along its path and some journey stops contain an uncertain delay.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="changeRequired" type="xs:boolean" use="optional" default="true">
			<xs:annotation>
				<xs:documentation>Indicates if a change/transfer from the previous leg to this
					one is required or not. The flag can be false in certain realtime
					situations where parts of a through service were replaced by a realtime
					alternative. For technical reasons these can no longer be the same train
					in hafas. The value false indicates that the traveller can remain on the
					vehicle despite it being returned as two or more separate
					journey sections.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="minimumChangeDuration" type="xs:duration">
		    <xs:annotation>
		        <xs:documentation>Minimum duration to change to the next leg.</xs:documentation>
		    </xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>

	<xs:simpleType name="WaitingStateType">
		<xs:restriction base="xs:string">
		<xs:enumeration value="WAIT">
			<xs:annotation>
				<xs:documentation>Journey is waiting.</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		<xs:enumeration value="NOWAIT">
			<xs:annotation>
				<xs:documentation>Journey is not waiting.</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		<xs:enumeration value="UNDEF">
			<xs:annotation>
				<xs:documentation>Waiting status of the journey is unknown.</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="ReconstructionStateType">
		<xs:annotation>
			<xs:documentation>Contains the outcome information for the section, if it resulted from a reconstruction.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Reconstruction state not set. Original connection or section.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="C">
				<xs:annotation>
					<xs:documentation>Connection or section was successfully reconstructed completely.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="P">
				<xs:annotation>
					<xs:documentation>Connection was partially reconstructed and might contain dummy sections filled with data from the input reconstruction context, if enabled in the request.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="N">
				<xs:annotation>
					<xs:documentation>Connection or section was not reconstructable. In case of section, the section might be filled with data from the input reconstruction context, if enabled in the request.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="O">
				<xs:annotation>
					<xs:documentation>Original connection or section from a trip search.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="CalculationType">
		<xs:annotation>
			<xs:documentation>Indicates whether the connection originated from the initial search using the original
				parameters, or from a retried search with changed parameters that was performed after the initial
				search failed.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="INITIAL">
				<xs:annotation>
					<xs:documentation>The connection was computed during the initial request execution with the
					original parameters.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RETRY_SHARP">
				<xs:annotation>
					<xs:documentation>The connection was found using a sharp search that was performed after an
					unsharp search failed.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RETRY_UNSHARP">
				<xs:annotation>
					<xs:documentation>The connection was found using an unsharp search that was performed after
					a sharp search failed.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RETRY_DOUBLE_RADIUS">
				<xs:annotation>
					<xs:documentation>The connection was found only after the original GIS radiuses for
					front/back were doubled at least once.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RETRY_UNSHARP_NEW_RADIUS">
				<xs:annotation>
					<xs:documentation>The connection was found using an additional unsharp search that was
					performed with an increased footpath distance.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RETRY_PRESELECTION_NEW_RADIUS">
				<xs:annotation>
					<xs:documentation>The connection was found using extended gis radii after the
					initial trip search from/to an address/poi/coordinate either found no suitable
					station within the originally specified radii, or was not able to find a GIS route
					to any of them.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:element name="Origin" type="OriginDestType">
		<xs:annotation>
			<xs:documentation>Origin of a leg including location name, location type, location route index (if
				available),
				departure time and date, realtime departure (if available), track and realtime track (if available).
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Destination" type="OriginDestType">
		<xs:annotation>
			<xs:documentation>Destination of a leg including location name, location type, location route index (if
				available),
				arrival time and date, realtime arrival time (if available), track and realtime track (if available)
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OriginDestType">
		<xs:sequence>
			<xs:element ref="Notes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains a list of notes to be displayed for this location, like attributes or
						footnotes.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mcpData" type="KVType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Deprecated. See mcpInformation structure.

						Contains a list of key value pairs describing the mode change point data. Only
						available if @mcp equals to true.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mcpInformation" type="McpInformationType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>In case this location is of type, any MCP related information is covered in this structure.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Message" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="altId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Alternative IDs for this location.
						These might not be applicable when doing follow-up requests</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mainMastAltId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Deprecated. Use mainMast structure instead.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Occupancy" type="OccupancyType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="platform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="rtPlatform" type="PlatformType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="weatherInformation" type="WeatherInformationType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Weather information for the given location - This is a list to support multiple information for one day or a 10-day-forecast or else. In the trivial case where the
					weather is requested for a specific point in time, this will only contain a single element.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mainMast" type="StopLocation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Main mast information in case this station belongs to such.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.OriginDestType"/>
	</xs:complexType>
	<xs:attributeGroup name="attlist.OriginDestType">
		<xs:attribute name="name" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Contains the name of the location.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="description" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Additional description of location, e.g. address</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" use="required">
			<xs:annotation>
				<xs:documentation>The attribute type specifies the type of location. Valid values are ST (stop/station),
                    ADR (address), POI (point of interest), CRD (coordinate), MCP (mode change point) or HL (hailing point).
                </xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="ST"/>
					<xs:enumeration value="ADR"/>
					<xs:enumeration value="POI"/>
					<xs:enumeration value="CRD"/>
					<xs:enumeration value="MCP"/>
					<xs:enumeration value="HL"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="id" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>ID of this stop</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="extId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>External ID of this stop</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 longitude of the geographical position.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>The WGS84 latitude of the geographical position.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>The altitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdx" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Route index of a stop/station. Can be used as a reference of the stop/station in a
					journeyDetail
					response.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="prognosisType" type="PrognosisType" use="optional">
			<xs:annotation>
				<xs:documentation>Prognosis type of date and time.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="time" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Time in format hh:mm[:ss].</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="date" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="tz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Time zone information in the format +/- minutes</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="scheduledTimeChanged" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Scheduled time changed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="track" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if track information is hidden by data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTime" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime time in format hh:mm[:ss] if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtDate" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime date in format YYYY-MM-DD, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTz" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Realtime time zone information in the format +/- minutes, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTrack" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime track information, if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtTrackHidden" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if track information is hidden by realtime data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>True if this stop is a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hasMainMast" type="xs:boolean">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. True if this stop belongs to a main mast.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastId" type="xs:string">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastExtId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. External ID of the main mast this stop belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLon" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 longitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastLat" type="xs:decimal" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The WGS84 latitude of the geographical position of the main mast this stop/station.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mainMastAlt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Deprecated. Use mainMast structure instead. The altitude of the geographical position of the main mast this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alighting" type="xs:boolean" default="true" use="optional">
			<xs:annotation>
				<xs:documentation>True if alighting is allowed by scheduled data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="boarding" type="xs:boolean" default="true" use="optional">
			<xs:annotation>
				<xs:documentation>True if boarding is allowed by scheduled data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtAlighting" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>True if alighting is allowed by realtime data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtBoarding" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>True if boarding is allowed by realtime data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cancelled" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if arrival or departure or both at this stop is cancelled</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cancelledDeparture" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if departure at this stop is cancelled</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cancelledArrival" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if arrival at this stop is cancelled</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="uncertainDelay" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>	The journey stopped or is waiting and the stop has an uncertain delay.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="additional" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is an additional stop</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isBorderStop" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is a border stop</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="isTurningPoint" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>Will be true if this stop is a turning point</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="hide" type="xs:boolean" use="optional" default="false">
			<xs:annotation>
				<xs:documentation>If true, hide times and track information.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="entry" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>True, if the stop is an entry point.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="mcp" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>True if this stop is a mode change point, e.g. car sharing station, charging station
					etc.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trainCompositionMarker" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Indicates an external train composition is available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rtCnclDataSourceType" type="RealtimeDataSourceType" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime data source that the stop cancellation originates from</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="psCtxArriveEarlier" type="xs:string">
			<xs:annotation>
				<xs:documentation>Provides a context that may be used in service PartialSearch to increase the time
				for interchange between the previous journey arrival stop and the following journey departure stop
				by searching a trip that will lead to an earlier arrival time for the previous journey while keeping
				the departure time for the following journey(s) constant.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="psCtxDepartLater" type="xs:string">
			<xs:annotation>
				<xs:documentation>Provides a context that may be used in service PartialSearch to increase the time
				for interchange between the previous journey arrival stop and the following journey departure stop
				by searching a trip that will lead to a later departure time for the following journey while keeping
				the arrival time for the previous journey(s) constant.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="minimumChangeDuration" type="xs:duration">
		    <xs:annotation>
		        <xs:documentation>Minimum duration to change at this stop/station.</xs:documentation>
		    </xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<!--  -->
	<xs:element name="GisRef">
		<xs:annotation>
			<xs:documentation>Reference to individual route of this leg.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="ref" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>Contains a reference to call the ReST interface for GIS route for this leg.
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="GisRouteType">
		<xs:sequence>
			<xs:element name="seg" type="GisRouteSegment" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="Notes" minOccurs="0"/>
			<xs:element name="polyline" type="Polyline" minOccurs="0"/>
			<xs:element name="polylineGroup" type="PolylineGroup" minOccurs="0" />
			<xs:element name="altPolyline" type="Polyline" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="altPolylineGroup" type="PolylineGroup" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
		<xs:attribute name="dist" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Distance for this GIS route in meter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="durS" type="xs:duration" use="optional">
			<xs:annotation>
				<xs:documentation>Duration for this GIS route in seconds.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="durR" type="xs:duration" use="optional">
			<xs:annotation>
				<xs:documentation>Duration for this GIS route in seconds based on the realtime situation.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="durST" type="xs:duration" use="optional">
			<xs:annotation>
				<xs:documentation>Estimated search time for a parking place in seconds.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="durW2C" type="xs:duration" use="optional">
			<xs:annotation>
				<xs:documentation>Estimated walking time from the starting address to the parking place in seconds.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="durW2D" type="xs:duration" use="optional">
			<xs:annotation>
				<xs:documentation>Estimated walking time from the destination parking place to the destination address
					in seconds.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dirTxt" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Direction text</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dirGeo" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Geographical direction of the route. The direction range is from 0 to 31 with 0
					starting from the
					x-axis in mathematical positive direction.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="edgeHashS" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Hash-Value over the edge list that represented the segments of the polyline when it was originally searched.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="edgeHashR" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Hash-Value over the edge list that represents the segments of the polyline for the current request.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="totUphill" type="xs:double" use="optional">
			<xs:annotation>
				<xs:documentation>Total uphill in meter</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="totDownhill" type="xs:double" use="optional">
			<xs:annotation>
				<xs:documentation>Total downhill in meter</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="GisEdgeType">
		<xs:attribute name="edgeId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>	The ID for this edge.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="graphId" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>The ID of the graph, that this edge belongs to.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="GisRouteSegment">
		<xs:sequence>
			<xs:element ref="Notes" minOccurs="0"/>
			<xs:element name="Edge" type="GisEdgeType" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="TrafficMessage" type="TrafficMessageType" minOccurs="0" maxOccurs="unbounded" />
			<xs:element ref="Messages" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Segment name for display.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rType" type="GisRouteRoadType" use="optional">
			<xs:annotation>
				<xs:documentation>Road type for this segment.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rNum" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Road number if available.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="man" type="GisRouteManoeuvre" use="optional">
			<xs:annotation>
				<xs:documentation>Code for the manoeuvre to be executed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="manTx" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Text description for the manoeuvre</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="manTargetName" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Name or description of the target of the current manoeuvre</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dirTx" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Direction text</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ori" type="GisRouteOrientation" use="optional">
			<xs:annotation>
				<xs:documentation>Origin</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="polyS" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Starting index into the polyline array.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="polyE" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>End index into the polyline array</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dist" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Distance for this segment in meter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="durS" type="xs:duration" use="optional">
			<xs:annotation>
				<xs:documentation>Duration for this segment in seconds.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="GisRouteRoadType">
		<xs:annotation>
			<xs:documentation>Type of road.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Unknown</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="M">
				<xs:annotation>
					<xs:documentation>Motorway</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="H">
				<xs:annotation>
					<xs:documentation>Highway</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="T">
				<xs:annotation>
					<xs:documentation>Trunk road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="T4L">
				<xs:annotation>
					<xs:documentation>Trunk road with four lanes</xs:documentation>
					<xs:appinfo>
            			<jaxb:typesafeEnumMember name="T4L" />
          			</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="T2L">
				<xs:annotation>
					<xs:documentation>Trunk road with two lanes</xs:documentation>
					<xs:appinfo>
            			<jaxb:typesafeEnumMember name="T2L" />
          			</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TR">
				<xs:annotation>
					<xs:documentation>Country road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NT">
				<xs:annotation>
					<xs:documentation>County road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CT">
				<xs:annotation>
					<xs:documentation>City road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="R">
				<xs:annotation>
					<xs:documentation>Residential road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="B">
				<xs:annotation>
					<xs:documentation>Blocked road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CW">
				<xs:annotation>
					<xs:documentation>Combined cycle and walkway</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="C">
				<xs:annotation>
					<xs:documentation>Cycleway</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="W">
				<xs:annotation>
					<xs:documentation>Walkway</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="F">
				<xs:annotation>
					<xs:documentation>Ferry</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="GisRouteManoeuvre">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NO">
				<xs:annotation>
					<xs:documentation>Not set</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FR">
				<xs:annotation>
					<xs:documentation>From</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TO">
				<xs:annotation>
					<xs:documentation>To</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ON">
				<xs:annotation>
					<xs:documentation>On</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LE">
				<xs:annotation>
					<xs:documentation>Left</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RI">
				<xs:annotation>
					<xs:documentation>Right</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="KL">
				<xs:annotation>
					<xs:documentation>Keep left</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="KR">
				<xs:annotation>
					<xs:documentation>Keep right</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HL">
				<xs:annotation>
					<xs:documentation>Half left</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HR">
				<xs:annotation>
					<xs:documentation>Half right</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="KHL">
				<xs:annotation>
					<xs:documentation>Keep half left</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="KHR">
				<xs:annotation>
					<xs:documentation>Keep half right</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SL">
				<xs:annotation>
					<xs:documentation>Sharp left</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SR">
				<xs:annotation>
					<xs:documentation>Sharp right</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="KSL">
				<xs:annotation>
					<xs:documentation>Keep sharp left</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="KSR">
				<xs:annotation>
					<xs:documentation>Keep sharp right</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ST">
				<xs:annotation>
					<xs:documentation>Straight</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="UT">
				<xs:annotation>
					<xs:documentation>U-Turn</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="EN">
				<xs:annotation>
					<xs:documentation>Enter</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LV">
				<xs:annotation>
					<xs:documentation>Leave</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ER">
				<xs:annotation>
					<xs:documentation>Enter roundabout</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SIR">
				<xs:annotation>
					<xs:documentation>Stay in roundabout</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LR">
				<xs:annotation>
					<xs:documentation>Leave roundabout</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="EF">
				<xs:annotation>
					<xs:documentation>Enter ferry</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LF">
				<xs:annotation>
					<xs:documentation>Leave ferry</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CH">
				<xs:annotation>
					<xs:documentation>Change highway</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CIF">
				<xs:annotation>
					<xs:documentation>Check-in ferry</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="COF">
				<xs:annotation>
					<xs:documentation>Check-out ferry</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="STA">
				<xs:annotation>
					<xs:documentation>Stairs</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="STD">
				<xs:annotation>
					<xs:documentation>Stairs down</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="STU">
				<xs:annotation>
					<xs:documentation>Stairs up</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="EL">
				<xs:annotation>
					<xs:documentation>Elevator</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ELD">
				<xs:annotation>
					<xs:documentation>Elevator down</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ELU">
				<xs:annotation>
					<xs:documentation>Elevator up</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ES">
				<xs:annotation>
					<xs:documentation>Escalator</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ESD">
				<xs:annotation>
					<xs:documentation>Escalator down</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ESU">
				<xs:annotation>
					<xs:documentation>Escalator up</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FOC">
				<xs:annotation>
					<xs:documentation>Keep center at the forking road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FOL">
				<xs:annotation>
					<xs:documentation>Keep left at the forking road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FOR">
				<xs:annotation>
					<xs:documentation>Keep right at the forking road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RP">
				<xs:annotation>
					<xs:documentation>Ramp</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RR">
				<xs:annotation>
					<xs:documentation>Take the right ramp</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RL">
				<xs:annotation>
					<xs:documentation>Take the left ramp</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TLR">
				<xs:annotation>
					<xs:documentation>Turn left and then right</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TRL">
				<xs:annotation>
					<xs:documentation>Turn right and then left</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TRR">
				<xs:annotation>
					<xs:documentation>Turn right and then right</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TLL">
				<xs:annotation>
					<xs:documentation>Turn left and then left</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="GisRouteOrientation">
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Unknown</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="N">
				<xs:annotation>
					<xs:documentation>North</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="S">
				<xs:annotation>
					<xs:documentation>South</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="E">
				<xs:annotation>
					<xs:documentation>East</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="W">
				<xs:annotation>
					<xs:documentation>West</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NE">
				<xs:annotation>
					<xs:documentation>Northeast</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SE">
				<xs:annotation>
					<xs:documentation>Southeast</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NW">
				<xs:annotation>
					<xs:documentation>Northwest</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SW">
				<xs:annotation>
					<xs:documentation>Southwest</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!-- -->
	<xs:complexType name="McpInformationType">
		<xs:sequence>
			<xs:element name="modalities" type="McpModalityType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Modalities the provider operates at the mode change point.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="availabilities" type="McpAvailabilityType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Availabilities of this mode change point.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="externalContent" type="ExternalContentType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>External content.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="type" type="McpTypeType" default="U">
			<xs:annotation>
				<xs:documentation>Type of MCP</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="occupancy" type="McpOccupancyType" default="N">
			<xs:annotation>
				<xs:documentation>MCP occupancy</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="id" type="xs:string">
			<xs:annotation>
				<xs:documentation>Internal MCP id.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="externalId" type="xs:string">
			<xs:annotation>
				<xs:documentation>External MCP id.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="provider" type="xs:string">
			<xs:annotation>
				<xs:documentation>MCP provider code.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="providerName" type="xs:string">
			<xs:annotation>
				<xs:documentation>MCP provider name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="details" type="xs:string">
			<xs:annotation>
				<xs:documentation>MCP provider name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="physicalAccessType" type="McpPhysicalAccessTypeType" default="UNDEF">
			<xs:annotation>
				<xs:documentation>Physical access type of this MCP.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lastUpdateTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>Last update time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lastUpdateDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>Last update date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="McpModalityType">
		<xs:attribute name="transportMode" type="McpTransportModeType" default="UNDEF">
			<xs:annotation>
				<xs:documentation>Type of MCP</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="usageType" type="McpUsageType" default="U">
			<xs:annotation>
				<xs:documentation>Type of MCP</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="placeType" type="McpPlaceType" default="UNDEF">
			<xs:annotation>
				<xs:documentation>Type of MCP</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="McpAvailabilityType">
		<xs:sequence>
			<xs:element name="timeInterval" type="DateTimeIntervalType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The time interval for which the given availability is valid.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="startBoundaryType" type="IntervalBoundaryType" default="INCLUSIVE">
			<xs:annotation>
				<xs:documentation>Whether or not the interval start boundary is inclusive or exclusive for the given time interval.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="endBoundaryType" type="IntervalBoundaryType" default="EXCLUSIVE">
			<xs:annotation>
				<xs:documentation>Whether or not the interval end boundary is inclusive or exclusive for the given time interval.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="intervalLimitation" type="TimeIntervalLimitationType" default="NONE">
			<xs:annotation>
				<xs:documentation>The limitation that is imposed on the given time interval.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="McpTypeType">
		<xs:annotation>
			<xs:documentation>Type of MCP.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>undefined</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="V">
				<xs:annotation>
					<xs:documentation>vehicle</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="A">
				<xs:annotation>
					<xs:documentation>area</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="P">
				<xs:annotation>
					<xs:documentation>place</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="H">
				<xs:annotation>
					<xs:documentation>mobility hub</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PA">
				<xs:annotation>
					<xs:documentation>physical access</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="McpOccupancyType">
		<xs:annotation>
			<xs:documentation>Type of MCP occupancy.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="N">
				<xs:annotation>
					<xs:documentation>no occupancy</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>undefined</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="A">
				<xs:annotation>
					<xs:documentation>available</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="E">
				<xs:annotation>
					<xs:documentation>not available</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="McpPhysicalAccessTypeType">
		<xs:annotation>
			<xs:documentation>Type of physical access.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNDEF">
				<xs:annotation>
					<xs:documentation>This physical access has unknown properties.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ENTRY_ONLY">
				<xs:annotation>
					<xs:documentation>This physical access allows to enter the place that references it.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="EXIT_ONLY">
				<xs:annotation>
					<xs:documentation>This physical access allows to exit the place that references it.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ENTRY_AND_EXIT">
				<xs:annotation>
					<xs:documentation>This physical access allows to enter and exit the place that references it.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="McpTransportModeType">
		<xs:annotation>
			<xs:documentation>Mode type of MCP.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNDEF">
				<xs:annotation>
					<xs:documentation>undefined</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="WALK">
				<xs:annotation>
					<xs:documentation>walk</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="BIKE">
				<xs:annotation>
					<xs:documentation>bike</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CAR">
				<xs:annotation>
					<xs:documentation>car</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="McpUsageType">
		<xs:annotation>
			<xs:documentation>Usage type of MCP.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>undefined</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="S">
				<xs:annotation>
					<xs:documentation>sharing</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="R">
				<xs:annotation>
					<xs:documentation>rental</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="P">
				<xs:annotation>
					<xs:documentation>pooling</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="T">
				<xs:annotation>
					<xs:documentation>taxi</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="O">
				<xs:annotation>
					<xs:documentation>own vehicle</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="McpPlaceType">
		<xs:annotation>
			<xs:documentation>Place type of MCP.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNDEF">
				<xs:annotation>
					<xs:documentation>undefined</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FIX">
				<xs:annotation>
					<xs:documentation>Drop off has to be the same place</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FLEX">
				<xs:annotation>
					<xs:documentation>Drop off might be a different place</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FREE">
				<xs:annotation>
					<xs:documentation>Free floating - drop off at any place in the operational area</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RIDE">
				<xs:annotation>
					<xs:documentation>*-and-ride place to drop off vehicle</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CHARGE">
				<xs:annotation>
					<xs:documentation>Charging station</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RETURN">
				<xs:annotation>
					<xs:documentation>Drop off of a beforehand used vehicle</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!--  -->
	<xs:complexType name="WeatherInformationType">
		<xs:sequence>
			<xs:element name="icon" type="IconType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Weather icon.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="type" type="WeatherType" use="required">
			<xs:annotation>
				<xs:documentation>Type of weather</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="date" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Date, that the weather information is valid for (whole day approximation if no time is given). Date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="time" type="xs:string">
			<xs:annotation>
				<xs:documentation>Time, that the weather information is valid for (on the specified date). Time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="temp" type="xs:string">
			<xs:annotation>
				<xs:documentation>Temperature string including unit as delivered by the external weather API</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="text" type="xs:string">
			<xs:annotation>
				<xs:documentation>Short description of the weather (by weather provider)</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="summary" type="xs:string">
			<xs:annotation>
				<xs:documentation>Summary text for the weather</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="WeatherType">
		<xs:annotation>
			<xs:documentation>Type of weather.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNDEF">
				<xs:annotation>
					<xs:documentation>undefined</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CLEAR">
				<xs:annotation>
					<xs:documentation>clear</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PARTIALLY_CLOUDY">
				<xs:annotation>
					<xs:documentation>partially cloudy</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CLOUDY">
				<xs:annotation>
					<xs:documentation>cloudy</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RAIN">
				<xs:annotation>
					<xs:documentation>rain</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HEAVY_RAIN">
				<xs:annotation>
					<xs:documentation>heavy rain</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SNOW">
				<xs:annotation>
					<xs:documentation>snow</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HEAVY_SNOW">
				<xs:annotation>
					<xs:documentation>heavy snow</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HAIL">
				<xs:annotation>
					<xs:documentation>hail</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HEAVY_HAIL">
				<xs:annotation>
					<xs:documentation>heavy hail</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FOG">
				<xs:annotation>
					<xs:documentation>fog</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="THUNDERSTORM">
				<xs:annotation>
					<xs:documentation>thunderstorm</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="STORM">
				<xs:annotation>
					<xs:documentation>storm</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SLIGHTLY_CLOUDY">
				<xs:annotation>
					<xs:documentation>slightly cloudy</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SLEET">
				<xs:annotation>
					<xs:documentation>sleet</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RAIN_SHOWER">
				<xs:annotation>
					<xs:documentation>rain shower</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SNOW_SHOWER">
				<xs:annotation>
					<xs:documentation>snow shower</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SLEET_SHOWER">
				<xs:annotation>
					<xs:documentation>sleet shower</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HEAVY_FOG">
				<xs:annotation>
					<xs:documentation>heavy fog</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SLIPPERY_ROAD">
				<xs:annotation>
					<xs:documentation>slippery road</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DRIZZLE">
				<xs:annotation>
					<xs:documentation>drizzle</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="WET_AND_COLD">
				<xs:annotation>
					<xs:documentation>wet and cold</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DRY">
				<xs:annotation>
					<xs:documentation>dry</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SANDSTORM">
				<xs:annotation>
					<xs:documentation>sandstorm</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HEAVY_SANDSTORM">
				<xs:annotation>
					<xs:documentation>heavy sandstorm</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="THUNDER_SANDSTORM">
				<xs:annotation>
					<xs:documentation>thunder sandstorm</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LIGHT_RAIN">
				<xs:annotation>
					<xs:documentation>light rain</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!--  -->
	<xs:complexType name="TrafficMessageType">
		<xs:sequence>
			<xs:element name="icon" type="IconType" minOccurs="0" />
			<xs:element name="location" type="StopLocation" minOccurs="0" />
			<xs:element name="PolylineGroup" type="PolylineGroup" minOccurs="0" />
		</xs:sequence>
		<xs:attribute name="id" type="xs:string">
			<xs:annotation>
				<xs:documentation>ID of the message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="extId" type="xs:string">
			<xs:annotation>
				<xs:documentation>External ID of the message if based on an external system.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="TrafficMessageTypeType">
			<xs:annotation>
				<xs:documentation>Type of the message.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="xs:string">
			<xs:annotation>
				<xs:documentation>Name of the message</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="desc" type="xs:string">
			<xs:annotation>
				<xs:documentation>Description text of the message</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="TrafficMessageTypeType">
		<xs:annotation>
			<xs:documentation>Type of traffic message.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Unknown</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RCLM">
				<xs:annotation>
					<xs:documentation>maintenance work</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="AC">
				<xs:annotation>
					<xs:documentation>accident</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RW">
				<xs:annotation>
					<xs:documentation>construction work</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="AT">
				<xs:annotation>
					<xs:documentation>high traffic volume</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CO">
				<xs:annotation>
					<xs:documentation>other circumstances</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TRAFFIC_JAM">
				<xs:annotation>
					<xs:documentation>traffic jam</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DELAY">
				<xs:annotation>
					<xs:documentation>delay</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ROAD_CLOSED">
				<xs:annotation>
					<xs:documentation>road closed</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="JUNCTION_CLOSED">
				<xs:annotation>
					<xs:documentation>junction closed</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LANE_CLOSED">
				<xs:annotation>
					<xs:documentation>lane closed</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="BURNING_VEHICLE">
				<xs:annotation>
					<xs:documentation>burning vehicle</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ACCIDENT">
				<xs:annotation>
					<xs:documentation>accident</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DANGER">
				<xs:annotation>
					<xs:documentation>danger</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OBSTRUCTION">
				<xs:annotation>
					<xs:documentation>obstruction</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RAIL_ROAD_CROSSING">
				<xs:annotation>
					<xs:documentation>railroad crossing</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TRAFFIC_LIGHTS_DEFECT">
				<xs:annotation>
					<xs:documentation>traffic lights defect</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="WEATHER">
				<xs:annotation>
					<xs:documentation>generic weather event</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="WEATHER_ICE">
				<xs:annotation>
					<xs:documentation>ice</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="WEATHER_SNOW">
				<xs:annotation>
					<xs:documentation>snow</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="WEATHER_POOR_VISIBILITY">
				<xs:annotation>
					<xs:documentation>poor visibility</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="WEATHER_HAIL">
				<xs:annotation>
					<xs:documentation>hail</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="WEATHER_WIND">
				<xs:annotation>
					<xs:documentation>wind</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CONSTRUCTION_SITE">
				<xs:annotation>
					<xs:documentation>construction site</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="REROUTING">
				<xs:annotation>
					<xs:documentation>rerouting</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="GENERIC">
				<xs:annotation>
					<xs:documentation>generic</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ACCESS_RESTRICTION">
				<xs:annotation>
					<xs:documentation>conditional access restriction</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!--  -->
	<xs:element name="TariffResult">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="fareSetItem" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="clickout" type="xs:string" minOccurs="0"/>
				<xs:element name="externalContent" type="ExternalContentType" minOccurs="0"/>
				<xs:element name="param" type="KVType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="fareSetItem">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="fareItem" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="param" type="KVType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string"/>
			<xs:attribute name="desc" type="xs:string"/>
			<xs:attribute name="fromLeg" type="xs:int" use="optional">
				<xs:annotation>
					<xs:documentation>Deprecated, use fromLegId. First leg this fare set is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="toLeg" type="xs:int" use="optional">
				<xs:annotation>
					<xs:documentation>Deprecated, use toLegId. Last leg this fare set is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="fromLegId" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>First leg ID this fare set is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="toLegId" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>Last leg ID this fare set is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="fareItem">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ticket" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="param" type="KVType" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="externalContent" type="ExternalContentType" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string"/>
			<xs:attribute name="desc" type="xs:string"/>
			<xs:attribute name="price" type="xs:int"/>
			<xs:attribute name="cur" type="xs:string"/>
			<xs:attribute name="shpCtx" type="xs:string"/>
			<xs:attribute name="fromLeg" type="xs:int" use="optional">
				<xs:annotation>
					<xs:documentation>Deprecated, use fromLegId. First leg this fare item is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="toLeg" type="xs:int" use="optional">
				<xs:annotation>
					<xs:documentation>Deprecated, use toLegId. Last leg this fare item is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="fromLegId" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>First leg ID this fare item is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="toLegId" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>Last leg ID this fare item is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="ticket">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="param" type="KVType" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="externalContent" type="ExternalContentType" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string"/>
			<xs:attribute name="desc" type="xs:string"/>
			<xs:attribute name="price" type="xs:int"/>
			<xs:attribute name="cur" type="xs:string"/>
			<xs:attribute name="shpCtx" type="xs:string"/>
			<xs:attribute name="fromLeg" type="xs:int" use="optional">
				<xs:annotation>
					<xs:documentation>Deprecated, use fromLegId. First leg this ticket is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="toLeg" type="xs:int" use="optional">
				<xs:annotation>
					<xs:documentation>Deprecated, use toLegId. Last leg this ticket is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="fromLegId" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>First leg ID this ticket is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="toLegId" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>Last leg ID this ticket is valid for.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="KVType">
		<xs:attribute name="name">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="64"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="value">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="128"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="BooleanKVType">
		<xs:attribute name="name" type="xs:string"/>
		<xs:attribute name="value" type="xs:boolean"/>
	</xs:complexType>

	<xs:complexType name="ExternalContentType">
		<xs:annotation>
			<xs:documentation>Data type for external use</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="content" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Base64 encoded content string</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="icon" type="IconType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Icon for the content to display.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="provider">
			<xs:annotation>
				<xs:documentation>Contains the ID of the provider</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="providerName">
			<xs:annotation>
				<xs:documentation>Contains the ID of the provider</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="text">
			<xs:annotation>
				<xs:documentation>Label to be displayed</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="contentType">
			<xs:annotation>
				<xs:documentation>Type to identify, how the content is supposed to be interpreted</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:element name="HimMessages">
		<xs:annotation>
			<xs:documentation>Contains notes to be displayed for this trip.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element ref="Message" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="Message" type="Message">
		<xs:annotation>
			<xs:documentation>Message</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="Message">
		<xs:sequence>
			<xs:element name="affectedProduct" type="ProductType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Products affected by this message</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="affectedJourney" type="JourneyType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Products affected by this message</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="edge" type="MessageEdgeType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Edge this message is valid for.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="region" type="MessageRegionType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Region this message is valid for.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="event" type="MessageEventType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Event period this message is valid for.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="affectedStops" type="AffectedStopType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Stops affected by this message</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="validFromStop" type="StopType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Message is valid from this stop.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="validToStop" type="StopType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Message is valid until this stop.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="tags" type="TagsType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>List of tags this message is tagged with.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="channel" type="MessageChannelType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of publication channels along with its validity and optional URLs.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="messageCategory" type="MessageCategoryType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of message categories with its ID and optional localized name.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="messageText" type="MessageTextType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of messages texts with its tags and localized text fragments.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="validityDays" type="ServiceDays" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Days this message is valid for.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="extInfo" type="ExternalMessageInformationType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>External message information.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Note" type="Note" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of notes to be displayed for this message.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="message" type="Message" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Child messages.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.Message"/>
	</xs:complexType>

	<xs:complexType name="MessageTextType">
		<xs:sequence>
			<xs:element name="tag" type="xs:string" minOccurs="1" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of tags this message text is tagged with.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="text" type="xs:string" minOccurs="1" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of text fragments.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="MessageCategoryType">
		<xs:annotation>
			<xs:documentation>Message category having an ID and optional a name.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="id" type="xs:int" use="required">
			<xs:annotation>
				<xs:documentation>ID of the HIM message category</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Localized name of the HIM message category</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="TagsType">
		<xs:sequence>
			<xs:element name="tag" type="xs:string" minOccurs="1" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of tags.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AffectedStopType">
		<xs:sequence>
			<xs:element name="StopLocation" type="StopLocation" minOccurs="1" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of stops affected by a message.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MessageChannelType">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Name of the channel.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="url" type="UrlLinkType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>URL to external content of this message channel.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="validFromTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>In this channel, the message is valid beginning at time in format hh:mm[:ss]
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="validFromDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>In this channel, the message is valid beginning at date in format YYYY-MM-DD.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="validToTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>In this channel, the message is valid ending at time in format hh:mm[:ss]
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="validToDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>In this channel, the message is valid ending at date in format YYYY-MM-DD.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="MessageEdgeType">
		<xs:sequence>
			<xs:element name="sStop" type="StopType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Start stop of this edge.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="eStop" type="StopType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>End stop of this edge.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="polyline" type="Polyline" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Polylines describing the route graph</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="polylineGroup" type="PolylineGroup" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Polyline groups describing the route graph</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="iconCoordinate" type="Coordinate" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Geoposition to draw an icon at</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="messageRef" type="xs:int" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Reference to related Message@id</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="direction" type="xs:int" default="0">
			<xs:annotation>
				<xs:documentation>Direction of the edge the message is valid for: 0: unknown; 1: in direction of edge;
					2: in opposite direction of edge; 3: both directions
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="MessageRegionType">
		<xs:sequence>
			<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Name of the region.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="id" type="xs:string" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>ID of the region.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="polyline" type="Polyline" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Polylines describing the region.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="polylineGroup" type="PolylineGroup" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Polyline groups describing the region.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="iconCoordinate" type="Coordinate" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Geoposition to draw an icon at</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ring" type="Ring" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A ring describing the geo region affected by this message.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="messageRef" type="xs:int" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Reference to related Message@id</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MessageEventType">
		<xs:sequence>
			<xs:element name="sStop" type="StopType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Start stop of this event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="eStop" type="StopType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>End stop of this event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="sectionNum" minOccurs="0" maxOccurs="unbounded" type="xs:string">
				<xs:annotation>
					<xs:documentation>Section numbers this event is valid for.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="validityDays" type="ServiceDays" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Days this event is valid for.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="sTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period beginning time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period beginning date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="eTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period ending time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="eDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period ending date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sDaily" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period daily start time hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="eDaily" type="xs:string">
			<xs:annotation>
				<xs:documentation>Event period daily end time in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="current" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Event is valid currently.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="direction" type="xs:int" default="0">
			<xs:annotation>
				<xs:documentation>Direction of the event the message is valid for: 0: unknown; 1: in direction of event;
					2: in opposite direction of event; 3: both directions
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	
	<xs:complexType name="ExternalMessageInformationType">
		<xs:attribute name="extId" type="xs:string">
			<xs:annotation>
				<xs:documentation>External HIM message ID.</xs:documentation>
			</xs:annotation>			
		</xs:attribute>
		<xs:attribute name="extIdSrc" type="xs:string">
			<xs:annotation>
				<xs:documentation>Source of external HIM message ID.</xs:documentation>
			</xs:annotation>			
		</xs:attribute>
	</xs:complexType>
	
	<xs:complexType name="Coordinate">
		<xs:annotation>
			<xs:documentation>Coordinate</xs:documentation>
		</xs:annotation>
		<xs:attribute name="lon" type="xs:decimal" use="required">
			<xs:annotation>
				<xs:documentation>Longitude</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal" use="required">
			<xs:annotation>
				<xs:documentation>Latitude</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Altitude</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="Ring">
		<xs:annotation>
			<xs:documentation>Ring structure. If minRadius is unset or zero, it is describes a circle.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="lon" type="xs:decimal" use="required">
			<xs:annotation>
				<xs:documentation>Longitude</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal" use="required">
			<xs:annotation>
				<xs:documentation>Latitude</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="minRadius" type="xs:int">
			<xs:annotation>
				<xs:documentation>Minimum radius in meter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="maxRadius" type="xs:int">
			<xs:annotation>
				<xs:documentation>Maximum radius in meter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="Rect">
		<xs:annotation>
			<xs:documentation>Rectangle structure.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="llCrd" type="Coordinate">
				<xs:annotation>
					<xs:documentation>Lower left coordinate.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="urCrd" type="Coordinate">
				<xs:annotation>
					<xs:documentation>Upper right coordinate.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="JourneyList">
		<xs:annotation>
			<xs:documentation>A list of journeys.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element name="Journey" type="JourneyType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="planningPeriodBegin" type="xs:string" use="optional">
						<xs:annotation>
							<xs:documentation>Start of the planning period of this data in format YYYY-MM-DD.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="planningPeriodEnd" type="xs:string" use="optional">
						<xs:annotation>
							<xs:documentation>End of the planning period of this data in format YYYY-MM-DD.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="JourneyValidation">
		<xs:annotation>
			<xs:documentation>Result of a JorneyValidation request.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="BooleanKVType">
					<xs:annotation>
						<xs:documentation>A list of validated trains. Name is the train number. Value is true, if
							JourneyPos information are available
						</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="JourneyType">
		<xs:annotation>
			<xs:documentation>The element Journey contains all information about a journey like name, direction, lon, lat,
				train number and train category. It also contains a reference to journey.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="JourneyOrigin" type="OriginDestType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Represents the first stop of this journey.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="JourneyDestination" type="OriginDestType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Represents the last stop of this journey.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Stops" minOccurs="0" />
			<xs:element ref="JourneyDetailRef" minOccurs="0"/>
			<xs:element name="Product" type="ProductType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Product context, provides access to internal data</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Notes" minOccurs="0"/>
			<xs:element ref="Messages" minOccurs="0"/>
			<xs:element name="Occupancy" type="OccupancyType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="referencedJourney" type="ReferencedJourneyType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Referenced journeys</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="JourneyPath" type="JourneyPathType" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Journey path to represent journey position information for animated live map view.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ParallelJourneyRef" type="ParallelJourneyRefType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="globalId" type="JourneyGlobalIdType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of global ids of the journey.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.Journey"/>
	</xs:complexType>
	<!-- Attributliste Journey ist in Journey enthalten.-->
	<xs:attributeGroup name="attlist.Journey">
		<xs:attribute name="name" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Specifies the name of the journey (e.g. "Bus 100")
					as used for display.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="addName" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Additional product name. This is customer specific.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="direction" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Direction information. This is the last stop of
					the
					journey. Get the full journey of the train or
					bus with the JourneyDetails service.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="directionFlag" type="xs:string">
			<xs:annotation>
				<xs:documentation>Direction flag of the journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lon" type="xs:decimal">
			<xs:annotation>
				<xs:documentation>The current longitude position of the journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal">
			<xs:annotation>
				<xs:documentation>The current latitude position of the journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int">
			<xs:annotation>
				<xs:documentation>The current altitude position of the journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trainNumber" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Train number as used for display.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trainCategory" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Train category as used for display.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="parallelJourneyLinkType" type="ParallelJourneyLinkTypeType" use="optional">
			<xs:annotation>
				<xs:documentation>Parallel journey link type.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>

	<xs:simpleType name="ParallelJourneyLinkTypeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNDEF">
				<xs:annotation>
					<xs:documentation>There is no linkage</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PLANNED">
				<xs:annotation>
					<xs:documentation>Journeys linked via plan data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LINKED_RT">
				<xs:annotation>
					<xs:documentation>Journeys linked via realtime data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="UNLINKED_RT">
				<xs:annotation>
					<xs:documentation>Journeys unlinked via realtime data</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="JourneyPathType">
		<xs:sequence>
			<xs:element name="JourneyPathItem" type="JourneyPathItemType" minOccurs="1" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Single item to represent a journey path element.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Location" type="StopType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Locations refered along the journey path.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PolylineGroup" type="PolylineGroup" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Polyline representing this segment.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="JourneyPathItemType">
		<xs:attribute name="progressInTime" type="xs:int">
			<xs:annotation>
				<xs:documentation>Milliseconds after request.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="progressInPercent" type="xs:int">
			<xs:annotation>
				<xs:documentation>Progress between from and to location in percent.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="progressAbs" type="xs:int">
			<xs:annotation>
				<xs:documentation>Progress between from and to location in meter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="fromLocationId" type="xs:string">
			<xs:annotation>
				<xs:documentation>Location reference by ID.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="toLocationId" type="xs:string">
			<xs:annotation>
				<xs:documentation>Location reference by ID.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dirGeo" type="xs:int">
			<xs:annotation>
				<xs:documentation>Geographical direction of the route. The direction range is from 0 to 31 with 0
					starting from the x-axis in mathematical positive direction.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="state" type="JourneyPathItemStateType" default="U">
			<xs:annotation>
				<xs:documentation>State, if journey is before, on or after relevant segment.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="JourneyPathItemStateType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Undefined</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="B">
				<xs:annotation>
					<xs:documentation>Journey is before relevant segement.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="O">
				<xs:annotation>
					<xs:documentation>Journey is on relevant segement.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="A">
				<xs:annotation>
					<xs:documentation>Journey is after relevant segement.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>

	</xs:simpleType>

	<!-- parallel journey ref -->
	<xs:complexType name="ParallelJourneyRefType">
		<xs:annotation>
			<xs:documentation>Information on parallel journeys.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="fromLocation" type="StopType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Combination location.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="toLocation" type="StopType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Separation location.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="attlist.ParallelJourneyRef"/>
	</xs:complexType>
	<xs:attributeGroup name="attlist.ParallelJourneyRef">
		<xs:attribute name="journeyDetailRef">
			<xs:annotation>
				<xs:documentation>Reference to journey details of this journey.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="type" type="ParallelJourneyType" default="UNDEF">
			<xs:annotation>
				<xs:documentation>Type of the parallel journey.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="linkType" type="ParallelJourneyLinkTypeType" use="optional">
			<xs:annotation>
				<xs:documentation>Parallel journey link type.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:simpleType name="ParallelJourneyType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNDEF">
				<xs:annotation>
					<xs:documentation>Undefined type of parallel journey</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="UNION">
				<xs:annotation>
					<xs:documentation>Parallel journey of type union</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="THROUGHCOACH">
				<xs:annotation>
					<xs:documentation>Parallel journey of type throughcoach</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TIETHROUGH">
				<xs:annotation>
					<xs:documentation>Parallel journey of type tiethrough</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!--  -->
	<xs:element name="TimetableInfoList">
		<xs:annotation>
			<xs:documentation>The time table info list contains entries for each pool of the connected
				HAFAS server. Each entry has a date and time attribute representing the point in time the
				pool was generated. The attribute ident identifies that specific pool. The list itself
				carries the begin and end date of the planning period as attributes.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element name="TimetableInfo" type="TimetableInfoType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="begin" type="xs:string"/>
					<xs:attribute name="end" type="xs:string"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="TimetableInfoType">
		<xs:attribute name="poolId" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Pool id.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="date" type="xs:string">
			<xs:annotation>
				<xs:documentation>Date of pool creation.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="time" type="xs:string">
			<xs:annotation>
				<xs:documentation>Time of pool creation.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ident" type="xs:string">
			<xs:annotation>
				<xs:documentation>Checksum for pool.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="comment" type="xs:string">
			<xs:annotation>
				<xs:documentation>Comment of the pool data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" default="U" type="TimetableInfoTypeType">
			<xs:annotation>
				<xs:documentation>The attribute type specifies the type of the time table. Valid values are ST (stop/station), ADR
					(address) or POI (point of interest). If not specified, U (unknown) is returned.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="begin" type="xs:string">
			<xs:annotation>
				<xs:documentation>Start date of the pool data timetable period.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="end" type="xs:string">
			<xs:annotation>
				<xs:documentation>End date of the pool data timetable period.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="licence" type="xs:string">
			<xs:annotation>
				<xs:documentation>Licence information to be shown.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="TimetableInfoTypeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="U" />
			<xs:enumeration value="ST" />
			<xs:enumeration value="ADR" />
			<xs:enumeration value="POI" />
		</xs:restriction>
	</xs:simpleType>

	<!-- resource linking -->
	<xs:complexType name="ResourceLinks">
		<xs:sequence>
			<xs:element name="link" type="ResourceLinkType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ResourceLinkType">
		<xs:attribute name="rel" type="xs:string" use="required"/>
		<xs:attribute name="href" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<!-- url links -->
	<xs:complexType name="UrlLinkType">
		<xs:attribute name="name" type="xs:string" use="optional"/>
		<xs:attribute name="url" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<xs:simpleType name="JourneyStatusType">
		<xs:annotation>
			<xs:documentation>Contains the status of the journey.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="P">
				<xs:annotation>
					<xs:documentation>Planned: A planned journey. This is also the default value.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="R">
				<xs:annotation>
					<xs:documentation>Replacement: The journey was added as a replacement for a planned journey.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="A">
				<xs:annotation>
					<xs:documentation>Additional: The journey is an additional journey to the planned journeys.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="S">
				<xs:annotation>
					<xs:documentation>Special: This is a special journey. The exact definition which journeys are
						considered special
						up to the customer.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>


	<!-- JourneyTrackMatchRequest -->
	<xs:element name="TrackData">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="TrackPoint" type="TrackPoint" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Tracked points.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="TrackSection" type="TrackSectionData" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Key data relating to trip segments (journeys).</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="algorithm" type="xs:string"/>
			<xs:attribute name="calcMatchQuality" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>If set to true, result contains additional data about the match quality.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="TrackPoint">
		<xs:sequence>
			<xs:element name="Location" type="Location" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The tracked location (coordinate, external id, etc.).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Probability" type="KVType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Probability with values ranging from -1 to 100. -1 signifies an unknown probability.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="timestamp" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Date and time of the tracked coordinate.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="seId" type="xs:string">
			<xs:annotation>
				<xs:documentation>Tracking specific id (specific to the used algorithm).</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="source" type="TrackPoinSourceType">
			<xs:annotation>
				<xs:documentation>Source of the tracked coordinate.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="accuracy" type="xs:int">
			<xs:annotation>
				<xs:documentation>Accuracy of the tracked coordinate. Smaller values mean higher accuracy.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="speed" type="xs:int">
			<xs:annotation>
				<xs:documentation>Speed in meters per second.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="direction" type="xs:int">
			<xs:annotation>
				<xs:documentation>Direction corresponding to 0 to 360 degrees starting at north and increasing clockwise.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trainName" type="xs:string"/>
		<xs:attribute name="lineName" type="xs:string"/>
		<xs:attribute name="product" type="xs:int">
			<xs:annotation>
				<xs:documentation>Product mask.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="Location">
		<xs:sequence>
			<xs:element name="Note" type="LocationNote" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Note to be displayed</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id">
			<xs:annotation>
				<xs:documentation>Contains the ID of the stop/station.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="extId" type="xs:string">
			<xs:annotation>
				<xs:documentation>Contains the external ID of the stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="xs:string">
		</xs:attribute>
		<xs:attribute name="lon" type="xs:decimal">
			<xs:annotation>
				<xs:documentation>The WGS84 longitude of the geographical position of the stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="lat" type="xs:decimal">
			<xs:annotation>
				<xs:documentation>The WGS84 latitude of the geographical position of the stop/station</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alt" type="xs:int">
			<xs:annotation>
				<xs:documentation>The altitude of the geographical position of this stop/station.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type">
			<xs:annotation>
				<xs:documentation>The attribute type specifies the type of location. Valid values are ADR (address),
                    POI (point of interest), CRD (coordinate), MCP (mode change point) or HL (hailing point).
                </xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="ADR"/>
					<xs:enumeration value="POI"/>
					<xs:enumeration value="CRD"/>
					<xs:enumeration value="MCP"/>
					<xs:enumeration value="HL"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="TrackPoinSourceType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="BEACON"/>
			<xs:enumeration value="GPS"/>
			<xs:enumeration value="MOBILE"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="TrackSectionData">
		<xs:sequence>
			<xs:element name="Departure" type="Location" minOccurs="1">
				<xs:annotation>
					<xs:documentation>Start location of the section - departure location.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Arrival" type="Location" minOccurs="1">
				<xs:annotation>
					<xs:documentation>End location of the section - arrival location.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="type" type="ReconstructionSectionType" use="required">
			<xs:annotation>
				<xs:documentation>Mode of transportation.</xs:documentation>
			</xs:annotation>
		</xs:attribute>

		<xs:attribute name="matchTimeSpanBegin" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Start of the match.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="matchTimeSpanEnd" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>End of the match.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="departureTime" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Departure time based on schedule.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="departureTimeRt" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Actual departure time based.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrivalTime" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Arrival time based on schedule.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrivalTimeRt" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Actual arrival time.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trainName" type="xs:string"/>
		<xs:attribute name="trainNumber" type="xs:string"/>
		<xs:attribute name="trainCategory" type="xs:string"/>
	</xs:complexType>

	<xs:simpleType name="ReconstructionSectionType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="JNY"/>
			<xs:enumeration value="WALK"/>
			<xs:enumeration value="TRSF">
				<xs:annotation>
					<xs:documentation>Transfer</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DEVI">
				<xs:annotation>
					<xs:documentation>Deviation</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="GIS_FOOT">
				<xs:annotation>
					<xs:documentation>On foot (based on GIS)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="GIS_BIKE">
				<xs:annotation>
					<xs:documentation>Bike (based on GIS)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="GIS_PARK">
				<xs:annotation>
					<xs:documentation>Park &amp; Ride (based on GIS)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="GIS_KISS">
				<xs:annotation>
					<xs:documentation>Kiss &amp; Ride (based on GIS)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="GIS_TAXI">
				<xs:annotation>
					<xs:documentation>Taxi (based on GIS)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!-- JourneyTrackMatch -->
	<xs:element name="JourneyTrackMatch">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element name="MatchResult" type="JourneyTrackMatchResult" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="Diagnostics" type="KVType" minOccurs="0" maxOccurs="unbounded"></xs:element>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="JourneyTrackMatchResult">
		<xs:sequence>
			<xs:element name="MatchQuality" type="MatchQualityType" minOccurs="0" maxOccurs="1" />
			<xs:element ref="TrackMatchJourneyDetail" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Diagnostics" type="KVType" minOccurs="0" maxOccurs="unbounded"></xs:element>
		</xs:sequence>
		<xs:attribute name="algorithm" type="MatchAlgorithmType" />
		<xs:attribute name="deviation" type="xs:long"/>
	</xs:complexType>

	<xs:element name="TrackMatchJourneyDetail">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="JourneyDetail" minOccurs="0" maxOccurs="1"/>
			</xs:sequence>
			<xs:attribute name="matchTimeSpanBegin" type="xs:dateTime" />
			<xs:attribute name="matchTimeSpanEnd" type="xs:dateTime" />
		</xs:complexType>
	</xs:element>

	<xs:simpleType name="MatchAlgorithmType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="AUTO"/>
			<xs:enumeration value="RTCM"/>
			<xs:enumeration value="INVERSE"/>
			<xs:enumeration value="BOTH"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="MatchQualityType">
		<xs:attribute name="avgGraphDistance" type="xs:long" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="maxGraphDistance" type="xs:long" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="avgGraphTimeDistance" type="xs:long" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="percentCoverage" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="percentTrackCoverage" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="percentRealtime" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="checkInQuality" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="checkOutQuality" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="spatialMatch" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="timeSpatialMatch" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="overallRating" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="activityMatch" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="vehicleBeaconMatch" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="spatialStationBeaconMatch" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<!-- Line -->
	<xs:element name="LineList">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element name="Line" type="LineType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="LineType">
		<xs:sequence>
			<xs:element name="Product" type="ProductType" minOccurs="0"/>
			<xs:element name="Journey" type="JourneyType" minOccurs="0" maxOccurs="unbounded" />
			<xs:element ref="Messages"/>
			<xs:element ref="Direction" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="GlobalIds" type="GlobalIdType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of global line ids.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="lineId" type="xs:string" use="required"/>
		<xs:attribute name="lineName" type="xs:string"/>
		<xs:attribute name="lineNameShort" type="xs:string"/>
	</xs:complexType>

	<!-- data info -->
	<xs:element name="DataInfo">
		<xs:annotation>
			<xs:documentation>Contains information about master data.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element name="Operator" type="OperatorType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="Product" type="ProductType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="ProductCategory" type="ProductCategoryType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="Region" type="RegionType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="MapInfo" type="MapInfoType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="MobilityServiceProviderInfo" type="MobilityServiceProviderInfoType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="begin" type="xs:string" />
					<xs:attribute name="end" type="xs:string" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="OperatorType">
		<xs:annotation>
			<xs:documentation>Operator info.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="administration" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="globalId" type="GlobalIdType" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>List of global operator ids.</xs:documentation>
                </xs:annotation>
            </xs:element>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Operator name for display.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="nameS" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Operator name short.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="nameN" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Operator name normal.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="nameL" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Operator name long.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="addName" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Additional operator name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="id" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Identifier</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="url" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>URL of provider</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="ProductCategoryType">
		<xs:annotation>
			<xs:documentation>Product category info.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Product" type="ProductType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Operator name for display.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cls" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Product category in decimal form.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="RegionType">
		<xs:annotation>
			<xs:documentation>Region info.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="name" type="xs:string">
			<xs:annotation>
				<xs:documentation>Name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="extId" type="xs:int" use="required">
			<xs:annotation>
				<xs:documentation>External ID.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="MapInfoType">
		<xs:annotation>
			<xs:documentation>Map info structure.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="BaseMap" type="MapLayerType" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="OverlayMap" type="MapLayerType" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="MapLayerType">
		<xs:annotation>
			<xs:documentation>Map.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="extend" type="Rect" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>The rectangle map tile having lower left coord(x,y) and upper right coord(x,y)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="initialBoundingBox" type="Rect" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Initial rectangle map tile having lower left coord(x,y) and upper right coord(x,y)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="subdomain" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>list of subdomain-identifiers</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>ID</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="url" type="xs:string">
			<xs:annotation>
				<xs:documentation>The URL, from where the map tile will be fetched.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="zoomMin" type="xs:int" use="optional" default="-1">
			<xs:annotation>
				<xs:documentation>Minimum zoom level allowed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="zoomMax" type="xs:int" use="optional" default="-1">
			<xs:annotation>
				<xs:documentation>Maximum zoom level allowed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="opacity" type="xs:int" use="optional" default="100">
			<xs:annotation>
				<xs:documentation>The opacity of a tile in percent. (0=transparent, 100=opaque).</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="xs:string">
			<xs:annotation>
				<xs:documentation>Type of the map layer.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="projection">
			<xs:annotation>
				<xs:documentation>Projectiontype of the tile schema. e.g. Z_X_Y, EXTENDS, BBOX etc..</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="U">
						<xs:annotation>
							<xs:documentation>UNKNOWN</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
					<xs:enumeration value="Z">
						<xs:annotation>
							<xs:documentation>Z_X_Y</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
					<xs:enumeration value="E">
						<xs:annotation>
							<xs:documentation>EXTENDS</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
					<xs:enumeration value="B">
						<xs:annotation>
							<xs:documentation>BBOX</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
					<xs:enumeration value="S">
						<xs:annotation>
							<xs:documentation>SCHEMATIC</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="attribute" type="xs:string">
			<xs:annotation>
				<xs:documentation>Copyright text for map matelrials (Multi language supported)</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="label" type="xs:string">
			<xs:annotation>
				<xs:documentation>Label to display (Multi language supported)</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="show" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Show map layer</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="selectable" type="xs:boolean" default="true">
			<xs:annotation>
				<xs:documentation>Map layer is selectable</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="MobilityServiceProviderInfoType">
		<xs:annotation>
			<xs:documentation>Region info.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="id" type="xs:string">
			<xs:annotation>
				<xs:documentation>Id.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="extId" type="xs:string">
			<xs:annotation>
				<xs:documentation>External id.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name" type="xs:string">
			<xs:annotation>
				<xs:documentation>Name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="nameS" type="xs:string">
			<xs:annotation>
				<xs:documentation>Short Name.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="abbreviation" type="xs:string">
			<xs:annotation>
				<xs:documentation>Abbreviation.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<!-- data info -->
	<xs:element name="NoteInfo">
		<xs:annotation>
			<xs:documentation>Contains information about notes of master data.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element name="LocalizedNotes" type="LocalizedNotesType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="begin" type="xs:string" />
					<xs:attribute name="end" type="xs:string" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	
	<xs:complexType name="LocalizedNotesType">
		<xs:annotation>
			<xs:documentation>Localized notes.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Note" type="Note" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="lang" type="xs:string">
			<xs:annotation>
				<xs:documentation>Language code</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<!-- QrCodeMatchResult -->
	<xs:element name="QrCodeMatchResult">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:choice minOccurs="0" maxOccurs="1">
							<xs:element name="StopLocation" type="StopLocation"/>
							<xs:element name="CoordLocation" type="CoordLocation"/>
						</xs:choice>
					</xs:sequence>
					<xs:attribute name="type" type="QrCodeMatchResultType" default="UNDEF">
						<xs:annotation>
							<xs:documentation>Language code</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:simpleType name="QrCodeMatchResultType">
		<xs:annotation>
			<xs:documentation>Type of Matched result.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNDEF">
				<xs:annotation>
					<xs:documentation>undefined</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="STATION">
				<xs:annotation>
					<xs:documentation>The QR code matches a station.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="POI">
				<xs:annotation>
					<xs:documentation>The QR code matches a point of interest.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="BOOKEE">
				<xs:annotation>
					<xs:documentation>The QR code matches a bookee.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PLACE">
				<xs:annotation>
					<xs:documentation>The QR code matches a place.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HUB">
				<xs:annotation>
					<xs:documentation>The QR code matches a mobility hub.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!-- Walking links -->
	<xs:element name="WalkingLinks">
		<xs:annotation>
			<xs:documentation>Contains information about walking links at stations.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element name="WalkingLink" type="WalkingLinkType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="WalkingLinkType">
		<xs:sequence>
			<xs:element name="from" type="Location" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Location walking link starts at.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="to" type="Location" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Location walking link ends at.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Note" type="Note" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Notes related to that walking link.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="Message" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Messages related to that walking link.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PolylineGroup" type="PolylineGroup" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Polyline of that walking link.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="extId" type="xs:int" use="required">
			<xs:annotation>
				<xs:documentation>External ID of walking link.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<!-- Reconstruction by Section -->
	<xs:element name="ReconstructionMatchRequest">
		<xs:annotation>
			<xs:documentation>Information regarding Sections of a Journey.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="section" type="ReconstructionSectionDataType" minOccurs="1" maxOccurs="unbounded"/>
				<xs:element name="travellerProfile" type="TravellerProfileType" minOccurs="0"/>
				<xs:element name="filters" type="ReconstructionMatchFilterType" minOccurs="0" />
				<xs:element name="outputControl" type="OutputControlType" minOccurs="0" />
			</xs:sequence>
			<!-- from HCIReconstructionSettings: -->
			<xs:attribute name="useCombinedComparison" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>Compare based on combined output name - false: Compare parameters (category, line, train number) individually</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<!-- from HCIReconstructionFlags: -->
			<xs:attribute name="acceptGaps" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>Accept an incomplete description of the connection (with gaps) i.e. missing walks/transfers</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="flagAllNonReachable" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>Should all non-reachable journeys be flagged (true), or only the first one encountered?</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="matchCatStrict" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>Should the category (Gattung) match exactly? Only applicable if useCombinedComparison is false</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="matchIdNonBlank" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>Should the train identifier (Zugbezeichner) without whitespace match?</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="matchIdStrict" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>Should the train identifier (Zugbezeichner) match exactly?</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="matchNumStrict" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>Should the train number (Zugnummer) match exactly? Only applicable if useCombinedComparison is false</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="matchRtType" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>Should the realtime type that journeys are based on (e.g. SOLL, IST, additional, deviation, ...) be considered?</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="allowDummySections" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>Allow a partial reconstruction that will not lead to a reconstruction failure if sections are not
					reconstructable. Instead, for theses inconstructable sections, dummy sections will be created in the result.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="enableRtFullSearch" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>By default, the reconstruction request makes one attempt for each journey within the scheduled data.
					However, the scheduled data may not necessarily reflect basic realtime properties of the journeys therein. In such a
					case, one may enable a two-step approach which we call "full search", i.e. search for matching journeys in the scheduled
					data in a first step. If this fails, then search for matching journeys in the realtime data.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="enableReplacements" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>If set to true replaces cancelled journeys with their replacement journeys if possible.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="withJourneyBoundaryPoints" type="xs:boolean" default="false">
				<xs:annotation>
					<xs:documentation>Enables/disables the return of journey boundary stops at public transport legs.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="filterFootpaths" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>By default, the reconstruction request returns both journeys and footpaths. This flag disables reconstruction of footpaths and walking and will only return the journey parts.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<!-- from HCIReconstructionTimeDeviation: -->
			<xs:attribute name="arrL" type="xs:int">
				<xs:annotation>
					<xs:documentation>Lower deviation in minutes within interval [0, 720] indicating "how much earlier than original arrival"</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="arrU" type="xs:int">
				<xs:annotation>
					<xs:documentation>Upper deviation in minutes within interval [0, 720] indicating "how much later than original arrival"</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="depL" type="xs:int">
				<xs:annotation>
					<xs:documentation>Lower deviation in minutes within interval [0, 720] indicating "how much earlier than original departure"</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="depU" type="xs:int">
				<xs:annotation>
					<xs:documentation>Upper deviation in minutes within interval [0, 720] indicating "how much later than original departure"</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="ReconstructionSectionDataType">
		<xs:annotation>
			<xs:documentation>Information regarding Sections of a Journey.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Departure" type="Location" minOccurs="1">
				<xs:annotation>
					<xs:documentation>Start location of the section - departure location.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Arrival" type="Location" minOccurs="1">
				<xs:annotation>
					<xs:documentation>End location of the section - arrival location.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="type" type="ReconstructionSectionType" use="required">
			<xs:annotation>
				<xs:documentation>Mode of transportation.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="departureTime" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Departure time based on schedule.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="departureTimeRt" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Actual departure time based.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrivalTime" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Arrival time based on schedule.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="arrivalTimeRt" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>Actual arrival time.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="trainName">
			<xs:annotation>
				<xs:documentation>Name of the product.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="trainNumber">
			<xs:annotation>
				<xs:documentation>External train number.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="trainCategory">
			<xs:annotation>
				<xs:documentation>Product category.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<!--
		Following rule applies but is not supported by JAXB. Feel free to use if your
		XSD validator supports xs:assert.

		<xs:assert test="@trainName or (@trainNumber and @trainCategory)"/>
		-->
	</xs:complexType>

	<xs:complexType name="TravellerProfileType">
		<xs:sequence>
			<xs:element name="data" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Traveller profile data. Structure depends on the set-up.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="32768"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="ReconstructionMatchFilterType">
		<xs:attribute name="meta">
			<xs:annotation>
				<xs:documentation>If there are any predefined filters available, check your delivery
					package documentation.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="OccupancyType">
		<xs:annotation>
			<xs:documentation>Occupany information</xs:documentation>
		</xs:annotation>
		<xs:attribute name="name" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Name of seat class or category.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="v" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Seat occupancy value of this class or category between 0 and 100.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="vRt" type="xs:int" use="optional" default="0">
			<xs:annotation>
				<xs:documentation>Realtime seat occupancy value of this class or category between 0 and 100.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="number" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>Public number of the car for which the occupancy data is valid for, if the data is only valid for a single car. Otherwise this attribute is simply left out.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="raw" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Seat occupancy raw data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rawRt" type="xs:int" use="optional">
			<xs:annotation>
				<xs:documentation>Realtime seat occupancy raw data</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="s" type="OccupancyStatusType">
			<xs:annotation>
				<xs:documentation>Seat occupancy status.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sRt" type="OccupancyStatusType">
			<xs:annotation>
				<xs:documentation>Realtime seat occupancy status.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="OccupancyStatusType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="U">
				<xs:annotation>
					<xs:documentation>Occupancy status not set</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NA">
				<xs:annotation>
					<xs:documentation>Occupancy information not available</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="L">
				<xs:annotation>
					<xs:documentation>Low seat occupancy</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="M">
				<xs:annotation>
					<xs:documentation>Medium seat occupancy</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="H">
				<xs:annotation>
					<xs:documentation>High seat occupancy</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>


	<xs:complexType name="ConnectionReliabilityType">
		<xs:attribute name="original" type="ConnectionReliabilityValueType">
			<xs:annotation>
				<xs:documentation>Reliability of the connection itself regarding its realtime status including
				cancellations, delays etc. to the get to the destination in time. Used in time machine feature.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="alternative" type="ConnectionReliabilityValueType">
			<xs:annotation>
				<xs:documentation>Reliability of an alternative connection to the original connection regarding its
				realtime status including cancellations, delays etc. Used in time machine feature.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="ConnectionReliabilityValueType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="GUARANTEED">
				<xs:annotation>
					<xs:documentation>Guaranteed to get the user from A to B in time within the scope</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="HIGH">
				<xs:annotation>
					<xs:documentation>Likely to get the user from A to B in time within the scope</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="LOW">
				<xs:annotation>
					<xs:documentation>Unlikely to get the user from A to B in time within the scope</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ABORTIVE">
				<xs:annotation>
					<xs:documentation>Definitely not going to get the user from A to B in time within the scope</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="UNDEF">
				<xs:annotation>
					<xs:documentation>No information</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!-- ManyToMany types -->

	<xs:element name="ManyToManyConnectionRequest">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="origin" type="Location">
					<xs:annotation>
						<xs:documentation></xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="destination" type="Location">
					<xs:annotation>
						<xs:documentation></xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="via" type="ViaType" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation></xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="avoid" type="AvoidType" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation></xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="frontPreselection" type="RoutingPreselectionType" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>List of preselected nodes per routing strategy that serve as entry points to public
						transport and are options to be used as front (first mile) of the resulting connections</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="backPreselection" type="RoutingPreselectionType" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>List of preselected nodes per routing strategy that serve as exit points from public
						transport and are options to be used as back (last mile) of the resulting connections</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="gisProfile" type="GisProfile" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="filters" type="TripSearchFilterType"/>
				<xs:element name="searchOptions" type="SearchOptionsType"/>
				<xs:element name="outputControl" type="OutputControlType"/>
			</xs:sequence>
			<xs:attribute name="datetime" type="xs:dateTime">
				<xs:annotation>
					<xs:documentation>Date and time of departure or arrival.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="TripSearchFilterType">
		<xs:attribute name="products" type="xs:integer">
			<xs:annotation>
				<xs:documentation>Decimal value defining the product classes to be included in the search. It
					represents a bitmask combining bit number of a product as defined in the HAFAS raw data.
					Values are retrievable by Data Information service.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="gisProducts">
			<xs:annotation>
				<xs:documentation>Filter on GIS product, e.g. specific sharing provider. Currently, only exclusion
					of certain providers is available by adding ! in front of the provider meta code. Available codes
					are customer specific.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="operators">
			<xs:annotation>
				<xs:documentation>Only trips provided by the given operators are part of the result. To filter multiple
					operators, separate the codes by comma. If the operator should not be part of the trip, negate it by
					putting ! in front of it.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="categories">
			<xs:annotation>
				<xs:documentation>Only trips provided by the given categories are part of the result. To filter
					multiple categories, separate the codes by comma. If the category should not be part of the trip,
					negate it by putting ! in front of it.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="categoryFlags">
			<xs:annotation>
				<xs:documentation>Only trips matching the given category flags are part of the result. To filter
					multiple category flags, separate the codes by comma.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="attributes">
			<xs:annotation>
				<xs:documentation>Filter trips by one or more attribute codes of a journey. Multiple attribute codes are
					separated by comma. If the attribute should not be part of the be trip, negate it by putting ! in
					front of it.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="sattributes">
			<xs:annotation>
				<xs:documentation>Filter trips by one or more station attribute codes of a journey. Multiple attribute
					codes are separated by comma. If the attribute should not be part of the be trip, negate it by
					putting ! in front of it.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="lines">
			<xs:annotation>
				<xs:documentation>Only journeys running the given line are part of the result. To filter multiple lines,
					separate the codes by comma. If the line should not be part of the be trip, negate it by putting !
					in front of it.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="lineIds">
			<xs:annotation>
				<xs:documentation>Only journeys running the given line (identified by its line ID) are part of the
					result. To filter multiple lines, separate the line IDs by comma. If the line should not be part of
					the trip, negate it by putting ! in front of it.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="avoidPaths">
			<xs:annotation>
				<xs:documentation>Only path not having the given properties will be part of the result.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="mobilityProfile">
			<xs:annotation>
				<xs:documentation>Use a predefined filter by its name. The filters are defined in the HAFAS
					installation. If the filter should be negated, put a ! in front of its name.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="trainFilter">
			<xs:annotation>
				<xs:documentation>Filters a trip search for a certain train.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="groupFilter">
			<xs:annotation>
				<xs:documentation>Use a predefined group filter to query for certain modes.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="bikeCarriage" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables search for trips explicit allowing bike carriage.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="bikeCarriageType">
			<xs:annotation>
				<xs:documentation>Filter for a specific bike carriage type. Allowed types are SINGLEBIKES, SMALLGROUPS
					and LARGEGROUPS. May be not available in any installation.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="SINGLEBIKES" />
					<xs:enumeration value="SMALLGROUPS" />
					<xs:enumeration value="LARGEGROUPS" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="sleepingCar" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables search for trips having sleeping car.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="couchetteCoach" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables search for trips having couchette coach.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="SearchOptionsType">
		<xs:sequence>
			<xs:element name="blocking" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="numB" type="xs:int" default="0"/>
		<xs:attribute name="numF" type="xs:int" default="5"/>
		<xs:attribute name="context">
			<xs:annotation>
				<xs:documentation>Defines the starting point for the scroll back or forth operation. Use the scrB
				value from a previous result to scroll backwards in time and use the scrF value to scroll forth.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="8096"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="changeTimePercent" type="xs:integer"/>
		<xs:attribute name="minChangeTime" type="xs:integer"/>
		<xs:attribute name="maxChangeTime" type="xs:integer"/>
		<xs:attribute name="addChangeTime" type="xs:integer"/>
		<xs:attribute name="maxChanges" type="xs:integer"/>
		<xs:attribute name="searchForArrival" type="xs:boolean" default="false" />
		<xs:attribute name="rtMode" type="RtModeType" default="SERVER_DEFAULT"/>
		<xs:attribute name="unsharp" type="xs:boolean" default="false"/>
		<xs:attribute name="economic" type="xs:boolean" default="false"/>
		<xs:attribute name="includeEarlier" type="xs:boolean" default="false"/>
		<xs:attribute name="withICTAlternatives" type="xs:boolean" default="false"/>
	</xs:complexType>

	<xs:simpleType name="RtModeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="SERVER_DEFAULT">
				<xs:annotation>
					<xs:documentation>One of the following modes is configured in the HAFAS server back end.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="OFF">
				<xs:annotation>
					<xs:documentation>Search on planned data, ignore real-time information completely: Connections are
					computed on the basis of planned data. No real-time information is shown.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="INFOS">
				<xs:annotation>
					<xs:documentation>Search on planned data, use real-time information for display only: Connections are
					computed on the basis of planned data. Delays and feasibility of the connections are integrated into
					the result. Note that additional trains (supplied via realtime feed) will not be part of the resulting
					connections.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FULL">
				<xs:annotation>
					<xs:documentation>Combined search on planned and real-time data. This search consists of two steps: i. Search
					on scheduled data, ii. If the result of step (i) contains a non-feasible connection, a search on real-time
					data is performed and all results are combined.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="REALTIME">
				<xs:annotation>
					<xs:documentation>Search on real-time data: Connections are computed on the basis of real-time data,
					using planned schedule only whenever no real-time data is available. All connections computed are
					feasible with respect to the currently known real-time situation.

					Additional trains (supplied via real-time feed) will be found if these are part of a fast, comfortable,
					or direct connection (or economic connection, if economic search is activated).</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="OutputControlType">
		<xs:attribute name="poly" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables the calculation of the polyline for each leg of the trip except any GIS route.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="polyEnc" type="PolylineEncodingType">
			<xs:annotation>
				<xs:documentation>Defines encoding of the returned polyline. Possible values are N (no encoding / compression), DLT (delta to the previous coordinate), GPA (Google encoded polyline format) defaults to N. Not all option might be available in your installation.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="passlist" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables the return of the passlist for each leg of the trip.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="showPassingPoints" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables the return of stops having no alighting and boarding in its passlist for each leg of the trip. Needs passlist enabled.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ivOnly" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables search for individual transport routes only.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ivInclude" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables search for individual transport routes.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="eco" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Deprecated. Only supported if legacy environmental calculator is used. Enables/disables eco value calculation.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ecoCmp" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Deprecated. Only supported if legacy environmental calculator is used. Enables/disables eco comparison.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ecoParams">
			<xs:annotation>
				<xs:documentation>For exact values, check your eco documentation if any.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="1024"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="baim" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables BAIM search and response.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="withJourneyBoundaryPoints" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Enables/disables the return of journey boundary stops at public transport legs.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="PolylineEncodingType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="N">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="DLT">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="GPA">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="RoutingPreselectionType">
		<xs:sequence>
			<xs:element name="GisProfile" type="GisProfile">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PreselectionNode" type="PreselectionNodeType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="GisProfile">
		<xs:sequence>
			<xs:element name="routerOption" type="KVType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Passed through GIS router specific option.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="attribute" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Filter locations by attribute code. If the attribute should not be part of the be location data, negate it by putting ! in front of it.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="128"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="type" type="GisProfileType" use="required">
			<xs:annotation>
				<xs:documentation>Type of referenced GIS profile (foot, bike...)</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="appliesTo" type="ApplyToType" use="required">
			<xs:annotation>
				<xs:documentation></xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="minDist" type="xs:integer">
			<xs:annotation>
				<xs:documentation>Minimum distance in meters.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="maxDist" type="xs:integer">
			<xs:annotation>
				<xs:documentation>Maximum distance in meter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="speed" type="xs:integer">
			<xs:annotation>
				<xs:documentation>Speed value to be used. &lt; 100: faster; = 100: normal (default); &gt; 100: slower</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="beeline" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Bee line routing instead of using external GIS router.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="meta" type="xs:string">
			<xs:annotation>
				<xs:documentation>Filter by a predefined meta filter.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>



	<xs:simpleType name="GisProfileType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="F">
				<xs:annotation>
					<xs:documentation>Foot</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="B">
				<xs:annotation>
					<xs:documentation>Bike</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="P">
				<xs:annotation>
					<xs:documentation>Car to Parking / Park'n'Ride</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="K">
				<xs:annotation>
					<xs:documentation>Car / Kiss'n'Ride</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="T">
				<xs:annotation>
					<xs:documentation>Taxi</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TE">
				<xs:annotation>
					<xs:documentation>Taxistand</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="ApplyToType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="F">
				<xs:annotation>
					<xs:documentation>First mile</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="B">
				<xs:annotation>
					<xs:documentation>Last mile</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FB">
				<xs:annotation>
					<xs:documentation>First and last mile</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="T">
				<xs:annotation>
					<xs:documentation>Total</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FBT">
				<xs:annotation>
					<xs:documentation>First mile, last mile and total</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="PreselectionNodeType">
		<xs:sequence>
			<xs:element name="id" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Unique ID that will be attached to all sections that resulted from this node.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="location" type="Location">
				<xs:annotation>
					<xs:documentation>Location for the preselected node that will serve as transition point</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PreselectionEdge" type="PreselectionEdgeType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of (long) edges to/from this node, each being an option / alternative</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="PreselectionEdgeType">
		<xs:attribute name="id" type="xs:string">
			<xs:annotation>
				<xs:documentation>Unique ID that will be attached to all sections that resulted from this edge.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="duration" type="xs:int">
			<xs:annotation>
				<xs:documentation>Overall duration for this edge between reference point and preselected node in minutes.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="dist" type="xs:int">
			<xs:annotation>
				<xs:documentation>Overall distance for this edge in meters between reference point and preselected node.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="value" type="xs:int">
			<xs:annotation>
				<xs:documentation>Number of virtual changes assumed for this edge. Used for change optimized trips.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="speed" type="xs:int">
			<xs:annotation>
				<xs:documentation>Speed value to be used. &lt; 100: faster; = 100: normal (default); &gt; 100: slower</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="cost" type="xs:int">
			<xs:annotation>
				<xs:documentation>Ranking value within the location list to be used</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="err" default="OK">
			<xs:annotation>
				<xs:documentation>Ranking value within the location list to be used</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="OK">
						<xs:annotation>
							<xs:documentation>Success. No error occured.</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
					<xs:enumeration value="NO_RESULT">
						<xs:annotation>
							<xs:documentation>Using the specified constraints no route could be found.</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="ViaType">
		<xs:sequence>
			<xs:element name="location" type="Location" />
		</xs:sequence>
		<xs:attribute name="waitTime" type="xs:integer"/>
		<xs:attribute name="status" type="ViaStatusType"/>
		<xs:attribute name="products" type="xs:integer"/>
		<xs:attribute name="attributes">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="512"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="direct" type="xs:boolean" default="false" />
		<xs:attribute name="sleepingCar" type="xs:boolean" default="false" />
		<xs:attribute name="couchetteCoach" type="xs:boolean" default="false" />
	</xs:complexType>

	<xs:simpleType name="ViaStatusType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="EXR">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NER">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NEXR">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NXR">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="AvoidType">
		<xs:sequence>
			<xs:element name="location" type="Location" />
		</xs:sequence>
		<xs:attribute name="status" type="AvoidStatusType"/>
		<xs:attribute name="products" type="xs:integer"/>
	</xs:complexType>

	<xs:simpleType name="AvoidStatusType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NCAVM">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NCAVO">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NPAVM">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="NPAVO">
				<xs:annotation>
					<xs:documentation></xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!-- Location preselection types -->

	<xs:element name="LocationPreselectionRequest">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="referenceLocation" type="Location">
					<xs:annotation>
						<xs:documentation>Reference location that serves as '1' in the requested 1:n or n:1</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="gisProfile" type="GisProfile" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="mode" type="LocationPreselectionModeType" default="ESTIMATE">
				<xs:annotation>
					<xs:documentation>Controls which data the service will return in the response</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="strategy" type="LocationPreselectionStrategyType" default="ONE_TO_N_SELECTION">
				<xs:annotation>
					<xs:documentation>Controls which strategy, 1:n or n:1, should be used when preselecting locations and routing their edges</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="datetime" type="xs:dateTime">
				<xs:annotation>
					<xs:documentation>Date and time of departure or arrival.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>

	<xs:simpleType name="LocationPreselectionModeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ESTIMATE">
				<xs:annotation>
					<xs:documentation>Only perform preselection and do not perform any 1:n routing - the resulting connections will be filled with beeline distance.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ROUTE">
				<xs:annotation>
					<xs:documentation>Perform preselection and perform 1:n routing for all modes - the resulting connections will be filled with routed distance and duration.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="LocationPreselectionStrategyType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ONE_TO_N_SELECTION">
				<xs:annotation>
					<xs:documentation>Indicates that we are searching locations for 1:n.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="N_TO_ONE_SELECTION">
				<xs:annotation>
					<xs:documentation>Indicates that we are searching locations for n:1.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="LocationPreselectionResponse">
		<xs:complexContent>
			<xs:extension base="CommonResponseType">
				<xs:sequence>
					<xs:element name="referenceLocation" type="Location" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Reference location that serves as '1' in the requested 1:n or n:1</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="preselection" type="PreselectionType" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Preselected nodes (transition locations) per requested routing strategy that serve as 'n' in the requested 1:n or n:1</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:element name="LocationPreselectionResponse" type="LocationPreselectionResponse">
		<xs:annotation>
			<xs:documentation>Returns preselected nodes.</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:complexType name="PreselectionType">
		<xs:sequence>
			<xs:element name="gisProfile" type="GisProfile"/>
			<xs:element name="node" type="PreselectionNodeType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Specifies the preselected nodes that will serve as transition points</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<!-- Partial Trip Search -->

	<xs:element name="PartialTripSearchRequest">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="ctx">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:maxLength value="8096"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="date" type="xs:string">
					<xs:annotation>
						<xs:documentation>Reconstruct the connection using this date instead of the original connection date</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="psSettings" type="PartialTripSearchSettingsType" />
				<xs:element name="via" type="ViaType" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation></xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="avoid" type="AvoidType" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation></xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="gisProfile" type="GisProfile" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="filters" type="TripSearchFilterType"/>
				<xs:element name="searchOptions" type="SearchOptionsType"/>
				<xs:element name="outputControl" type="OutputControlType" />
				<xs:element name="travellerProfile" type="TravellerProfileType" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="PartialTripSearchSettingsType">
		<xs:choice>
			<xs:element name="partialSearchReplacement" type="PartialSearchReplacementType" />
			<xs:element name="partialSearchSegment" type="PartialSearchSegmentType" />
		</xs:choice>
	</xs:complexType>

	<xs:complexType name="PartialSearchReplacementType">
		<xs:attribute name="ctx" use="required">
			<xs:annotation>
				<xs:documentation>Set by the client depending on the selected partial search direction with the approriate context from a section of the trip response.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:maxLength value="8096"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="supplChgTime" type="xs:integer">
			<xs:annotation>
				<xs:documentation>Supplementary change time at station to be considered as a minimum.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="PartialSearchSegmentType">
		<xs:sequence>
			<xs:element name="beginLocation" type="PartialSearchSegmentLocation">
				<xs:annotation>
					<xs:documentation>Marks the beginning of the segment and refers a location from the reconstruction context.
					Optional: Corresponding time for the beginning of the segment. If not set, the first location in the reconstruction context will be used that matches
					the beginning location.
					Optional: Supplementary change time at station at the beginning to be considered as a minimum.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="endLocation" type="PartialSearchSegmentLocation">
				<xs:annotation>
					<xs:documentation>Marks the end of the segment and refers to a location from the reconstruction context.
					Optional: Corresponding time for the end of the segment. If not set, the first location in the reconstruction context will be used that matches
					the end location.
					Optional: Supplementary change time at station at the end to be considered as a minimum.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="PartialSearchSegmentLocation">
		<xs:complexContent>
			<xs:extension base="Location">
				<xs:attribute name="date" type="xs:string">
					<xs:annotation>
						<xs:documentation>Corresponding date for segment in format YYYY-MM-DD. If not set, the first location in the reconstruction will be used that matches the location.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="time" type="xs:string">
					<xs:annotation>
						<xs:documentation>Corresponding time for segment in format hh:mm[:ss]. If not set, the first location in the reconstruction will be used that matches the location.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="supplChgTime" type="xs:integer">
					<xs:annotation>
						<xs:documentation>Supplementary change time at station to be considered as a minimum.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="SotContextType">
		<xs:sequence>
			<xs:element name="calcDate" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Date of calculation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="calcTime" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>time of calculation.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="journeyId" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Contains an internal journey id used for a subsequent journey detail request.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="trainName" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Name of service.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="legIdx" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Deprecated. Index of leg for the calculated position in the trip.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="legIdxFootPathConnection" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Deprecated. Index of leg connected by foot path.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="legId" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>ID of leg for the calculated position in the trip.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="legIdFootPathConnection" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>ID of leg connected by foot path.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="prevLocRouteIdx" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Deprecated. Index of last passed stop.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="curLocRouteIdx" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Deprecated. Index of current or next stop.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="locRouteIdxFootPathConnection" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Deprecated. Index of stop connected by foot path.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="prevLoc" type="Location" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Last passed stop.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="curLoc" type="Location" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Current or next stop.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="locFootPathConnection" type="Location" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Stop connected by foot path.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="locMode" type="SotContextLocModeType"/>
		</xs:sequence>
	</xs:complexType>

	<xs:simpleType name="SotContextLocModeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNKNOWN">
				<xs:annotation>
					<xs:documentation>Position: Location unknown.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FROM_START">
				<xs:annotation>
					<xs:documentation>Position: At start of trip before departure.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="IN_TRAIN">
				<xs:annotation>
					<xs:documentation>Position: In service.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="AT_PASSED_STOP">
				<xs:annotation>
					<xs:documentation>Position: At passed stop.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="AT_CHANGE_STOP">
				<xs:annotation>
					<xs:documentation>Position: At interchange location.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="BEFORE_TRAVEL">
				<xs:annotation>
					<xs:documentation>Position: Before start of trip, not at departure stop.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="AT_DESTINATION">
				<xs:annotation>
					<xs:documentation>Position: At destination.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ERROR">
				<xs:annotation>
					<xs:documentation>Common error during calculation of position.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ERROR_SEARCH_FROM_TRAIN_BEFORE_START">
				<xs:annotation>
					<xs:documentation>Search on trip before departure of service.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ERROR_IN_RECONSTRUCTION">
				<xs:annotation>
					<xs:documentation>Error during reconstruction. No postion calculation possible.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="TO_BE_DEFINED_IN_SERVER">
				<xs:annotation>
					<xs:documentation>Certain state during calculation.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ERROR_TRAIN_CANCELLED">
				<xs:annotation>
					<xs:documentation>Serice cancelled.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CHECK_COMPLETE_TRAIN">
				<xs:annotation>
					<xs:documentation>Certain state during calculation.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="AT_LAST_USABLE_STOP">
				<xs:annotation>
					<xs:documentation>Position: At last possible start.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ERROR_ALL_TRAINS_FILTERED">
				<xs:annotation>
					<xs:documentation>All alternative connections filtered.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ERROR_STAY_IN_CURRENT_CONNECTION">
				<xs:annotation>
					<xs:documentation>Stay in service. No better alternatives found.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!-- ReconstructionConvertRequest -->
	<xs:element name="ReconstructionConvertRequest">
		<xs:annotation>
			<xs:documentation>Requests the conversion of reconstruction contexts.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="ctx" minOccurs="1" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Reconstruction context to be converted.</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:maxLength value="32768"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="mode" type="ReconstructionConversionModeType" default="TO_CGI_LEGACY">
				<xs:annotation>
					<xs:documentation>What the reconstruction converter should do.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>

	<xs:simpleType name="ReconstructionConversionModeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="TO_CGI_LEGACY">
				<xs:annotation>
					<xs:documentation>Convert to version 1.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<!-- ReconstructionConvertRequest -->
	<xs:complexType name="ReconstructionConvertResponse">
		<xs:complexContent>
			<xs:extension base="CommonResponseType">
				<xs:sequence>
					<xs:element name="ctx" type="xs:string" minOccurs="1" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Converted reconstruction context.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:element name="ReconstructionConvertResponse" type="ReconstructionConvertResponse">
		<xs:annotation>
			<xs:documentation>Returns a list of converted reconstruction contexts.</xs:documentation>
		</xs:annotation>
	</xs:element>

	<!-- GeoFeature -->
	<xs:element name="GeoFeatureList">
		<xs:annotation>
			<xs:documentation>List of GeoFeature objects.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:sequence>
						<xs:element name="GeoFeature" type="GeoFeatureType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="GeoFeatureType">
		<xs:sequence>
			<xs:element name="provider" type="ProviderType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The provider of the GeoFeature.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="icon" type="IconType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Icon that illustrates the GeoFeature.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="coordinate" type="Coordinate" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>A list of coordinates relating to the GeoFeature.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="lines" type="Polyline" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>A list of polylines relating to the GeoFeature.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="geoData" type="GeoDataType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>A list of polylines relating to the GeoFeature.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="validity" type="DateTimeIntervalType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>List of date/time intervals in which the GeoFeature is valid.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Note" type="Note" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Note for GeoFeature.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" use="required">
			<xs:annotation>
				<xs:documentation>The internal id of the GeoFeature.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="extId">
			<xs:annotation>
				<xs:documentation>The external if of the GeoFeature.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="GeoFeatureTypeType" use="required">
			<xs:annotation>
				<xs:documentation>The type of the GeoFeature</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="subType">
			<xs:annotation>
				<xs:documentation>The subtype of the GeoFeature</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="title">
			<xs:annotation>
				<xs:documentation>The title describing the GeoFeature</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="ProviderType">
		<xs:sequence>
			<xs:element name="externalContent" type="ExternalContentType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id">
			<xs:annotation>
				<xs:documentation>Provider ID.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="name">
			<xs:annotation>
				<xs:documentation>Name of provider.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="region">
			<xs:annotation>
				<xs:documentation>Region this provider is active/responsible.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="GeoFeatureTypeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="TRAFFIC">
				<xs:annotation>
					<xs:documentation>Traffic-related GeoFeature.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SERVICE_AREA">
				<xs:annotation>
					<xs:documentation>Service area of some provider.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="BICYCLE_PATH">
				<xs:annotation>
					<xs:documentation>Path of a bicycle route.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="STATION_AREA">
				<xs:annotation>
					<xs:documentation>Station area of some provider.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
            <xs:enumeration value="PARKING_ZONE">
                <xs:annotation>
                    <xs:documentation>Parking zones.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GEO_REGION">
                <xs:annotation>
                    <xs:documentation>Geographical region defined in the plan-data, e.g. tariff zone.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="GeoDataType">
		<xs:attribute name="id">
			<xs:annotation>
				<xs:documentation>External ID of the data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type" type="GeoDataTypeType" use="required">
			<xs:annotation>
				<xs:documentation>Type of geo data.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="data" use="required">
			<xs:annotation>
				<xs:documentation>Geo data of the given type.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="minZoom" type="xs:int">
			<xs:annotation>
				<xs:documentation>Minimal zoom level for displaying the geometries.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="maxZoom" type="xs:int">
			<xs:annotation>
				<xs:documentation>Maximum zoom level up until which geometries should be displayed.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="GeoDataTypeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="GeoJSON">
				<xs:annotation>
					<xs:documentation>Base64 encoded GeoJson text.</xs:documentation>
					<xs:appinfo>
            			<jaxb:typesafeEnumMember name="GeoJSON" />
          			</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="DateTimeIntervalType">
		<xs:attribute name="sTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>Start time of the interval in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="sDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>Start date of the interval in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="eTime" type="xs:string">
			<xs:annotation>
				<xs:documentation>End time of the interval in format hh:mm[:ss]</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="eDate" type="xs:string">
			<xs:annotation>
				<xs:documentation>End date of the interval in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="RealtimeDataSourceType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="DEFAULT">
				<xs:annotation>
					<xs:documentation>Default source (undefined)</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="VDV">
			</xs:enumeration>
			<xs:enumeration value="HIM">
			</xs:enumeration>
			<xs:enumeration value="HRC">
			</xs:enumeration>
			<xs:enumeration value="SIRI">
			</xs:enumeration>
			<xs:enumeration value="UIC">
			</xs:enumeration>
			<xs:enumeration value="HRX">
			</xs:enumeration>
			<xs:enumeration value="GTFS">
			</xs:enumeration>
			<xs:enumeration value="FIS">
			</xs:enumeration>
			<xs:enumeration value="DDS">
				<xs:annotation>
					<xs:documentation>Datendrehscheiben</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PAISA">
				<xs:annotation>
					<xs:documentation>PA-ISA</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="FE">
				<xs:annotation>
					<xs:documentation>FahrtenEditor</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="BLACKLIST">
				<xs:annotation>
					<xs:documentation>List of blacklisted trains</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="ARAMIS">
				<xs:annotation>
					<xs:documentation>ARAMIS data source</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RTABO2">
				<xs:annotation>
					<xs:documentation>RTABO2 data source</xs:documentation>
					<xs:appinfo>
	        			<jaxb:typesafeEnumMember name="RTABO_2" />
	      			</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="ReferencedJourneyType">
		<xs:sequence>
			<xs:element name="journey" type="JourneyType" minOccurs="0" />
		</xs:sequence>
		<xs:attribute name="type" type="ReferencedJourneyTypeType" use="required" />
		<xs:attribute name="origFromIdx" type="xs:int" use="optional" />
		<xs:attribute name="origToIdx" type="xs:int" use="optional" />
		<xs:attribute name="refFromIdx" type="xs:int" use="optional" />
		<xs:attribute name="refToIdx" type="xs:int" use="optional" />
	</xs:complexType>

	<xs:simpleType name="ReferencedJourneyTypeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="UNDEF"/>
			<xs:enumeration value="DEFAULT"/>
			<xs:enumeration value="IST_ERSATZFAHRT"/>
			<xs:enumeration value="IST_VERSTAERKERFAHRT"/>
			<xs:enumeration value="IST_FORTFUEHRUNG"/>
			<xs:enumeration value="IST_TRENNUNG"/>
			<xs:enumeration value="IST_FORTFUEHRUNG_VON_TRENNUNG"/>
			<xs:enumeration value="IST_ZUSAMMENFUEHRUNG"/>
			<xs:enumeration value="IST_FORTFUEHRUNG_DURCH_ZUSAMMENFUEHRUNG"/>
			<xs:enumeration value="IST_ENTLASTUNG"/>
			<xs:enumeration value="DEFAULT_R"/>
			<xs:enumeration value="HAT_ERSATZFAHRT"/>
			<xs:enumeration value="HAT_VERSTAERKERFAHRT"/>
			<xs:enumeration value="HAT_FORTFUEHRUNG"/>
			<xs:enumeration value="HAT_TRENNUNG"/>
			<xs:enumeration value="HAT_FORTFUEHRUNG_VON_TRENNUNG"/>
			<xs:enumeration value="HAT_ZUSAMMENFUEHRUNG"/>
			<xs:enumeration value="HAT_FORTFUEHRUNG_DURCH_ZUSAMMENFUEHRUNG"/>
			<xs:enumeration value="HAT_ENTLASTUNG"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="ResultStatusType">
		<xs:attribute name="timeDiffCritical" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Based on the configuration, a critical time difference between connections in the result has been detected.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<!--  -->
	<xs:element name="TariffValidation">
		<xs:annotation>
			<xs:documentation>The location contains details for a stop/station or POI.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CommonResponseType">
					<xs:attribute name="valid" type="xs:boolean" use="required">
						<xs:annotation>
							<xs:documentation>Returns true in case of a valid tariff.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="reason" type="xs:string">
						<xs:annotation>
							<xs:documentation>Text/Code explaining cause for invalidation.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:simpleType name="IntervalBoundaryType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="INCLUSIVE">
				<xs:annotation>
					<xs:documentation>The given interval boundary should be included in the interval.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="EXCLUSIVE">
				<xs:annotation>
					<xs:documentation>The given interval boundary should be excluded from the interval.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="TimeIntervalLimitationType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="NONE">
				<xs:annotation>
					<xs:documentation>The imposed time interval has no restriction.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="PUBLIC_HOLIDAYS">
				<xs:annotation>
					<xs:documentation>The imposed time interval is restricted to public holidays.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="SCHOOL_HOLIDAYS">
				<xs:annotation>
					<xs:documentation>The imposed time interval is restricted to school holidays.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="GlobalIdType">
		<xs:attribute name="id" use="required">
			<xs:annotation>
				<xs:documentation>Global id.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type">
			<xs:annotation>
				<xs:documentation>Global id type.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="JourneyGlobalIdType">
		<xs:attribute name="id" use="required">
			<xs:annotation>
				<xs:documentation>Global id.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="type">
			<xs:annotation>
				<xs:documentation>Global id type.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="date" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Date in format YYYY-MM-DD.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxFrom" type="xs:int">
			<xs:annotation>
				<xs:documentation>Index in the complete stop sequence of the journey from which the global id is valid.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="routeIdxTo" type="xs:int">
			<xs:annotation>
				<xs:documentation>Index in the complete stop sequence of the journey to which the global id is valid.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	
</xs:schema>
