<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:tns="http://OSCP/CSP/2013/06/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" name="Untitled"
	targetNamespace="http://OSCP/CSP/2013/06/">
	<wsdl:types>
		<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
			xmlns="http://OSCP/CSP/2013/06/" targetNamespace="http://OSCP/CSP/2013/06/"
			elementFormDefault="qualified" attributeFormDefault="unqualified">
			<xs:simpleType name="HeartBeatTimeInterval">
				<xs:restriction base="xs:int" />
			</xs:simpleType>
			<xs:simpleType name="ForecastTimeInterval">
				<xs:restriction base="xs:int" />
			</xs:simpleType>
			<xs:simpleType name="ConnectionReferenceId">
				<xs:restriction base="xs:string" />
			</xs:simpleType>
			<xs:simpleType name="CableId">
				<xs:restriction base="xs:string" />
			</xs:simpleType>
			<xs:simpleType name="SenderID">
				<xs:restriction base="xs:string" />
			</xs:simpleType>
			<xs:simpleType name="ReceiverID">
				<xs:restriction base="xs:string" />
			</xs:simpleType>
			<xs:simpleType name="DateTime">
				<xs:restriction base="xs:dateTime" />
			</xs:simpleType>
			<xs:simpleType name="ResultCode">
				<xs:restriction base="xs:string">
					<xs:maxLength value="15" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType name="DetailDescription">
				<xs:restriction base="xs:string" />
			</xs:simpleType>
			<xs:simpleType name="LogLevelType">
				<xs:restriction base="xs:string">
					<xs:enumeration value="INFO" />
					<xs:enumeration value="WARN" />
					<xs:enumeration value="ERROR" />
					<xs:enumeration value="DEBUG" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType name="ResultMessage">
				<xs:restriction base="xs:string">
					<xs:maxLength value="254" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType name="Ean13">
				<xs:restriction base="xs:string">
					<xs:pattern value="[0-9]{13}" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType name="Ean18">
				<xs:restriction base="xs:string">
					<xs:pattern value="[0-9]{18}" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType name="EventId">
				<xs:restriction base="xs:string" />
			</xs:simpleType>
			<xs:simpleType name="EventName">
				<xs:restriction base="xs:string" />
			</xs:simpleType>
			<xs:complexType name="Parties">
				<xs:annotation>
					<xs:documentation>Element used in message header to identify the
						DSO and CSP for the concerned message
					</xs:documentation>
				</xs:annotation>
				<xs:sequence>
					<xs:element name="senderID" type="tns:SenderID" />
					<xs:element name="receiverID" type="tns:ReceiverID" />
				</xs:sequence>
			</xs:complexType>
			<xs:simpleType name="Priority">
				<xs:annotation>
					<xs:documentation>
						Element used to prioritize message:
						0 Critical
						/Emergency
						1 Urgent
						2 Normal
					</xs:documentation>
				</xs:annotation>
				<xs:restriction base="xs:int">
					<xs:minInclusive value="0" />
					<xs:maxInclusive value="2" />
				</xs:restriction>
			</xs:simpleType>
			<xs:complexType name="Result">
				<xs:sequence>
					<xs:element name="Type" type="tns:ResultType" />
					<xs:element name="Details">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Detail" maxOccurs="unbounded">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="Code" type="tns:ResultCode" />
											<xs:element name="Level" type="tns:LogLevelType" />
											<xs:element name="Message" type="tns:ResultMessage" />
											<xs:element name="Description" type="tns:DetailDescription"
												minOccurs="0" />
										</xs:sequence>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:complexType>
			<xs:simpleType name="ResultType">
				<xs:restriction base="xs:string">
					<xs:enumeration value="SUCCESS" />
					<xs:enumeration value="ERROR" />
					<xs:enumeration value="FAILED" />
					<xs:enumeration value="NOT ALLOWED" />
					<xs:enumeration value="NOT IMPLEMENTED" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType name="UnitOfMeasure">
				<xs:restriction base="xs:string">
					<xs:enumeration value="Wh" />
					<xs:enumeration value="kWh" />
					<xs:enumeration value="varh" />
					<xs:enumeration value="kvarh" />
					<xs:enumeration value="W" />
					<xs:enumeration value="kW" />
					<xs:enumeration value="var" />
					<xs:enumeration value="kvar" />
					<xs:enumeration value="A" />
					<xs:enumeration value="V" />
					<xs:enumeration value="ASU" />
					<xs:enumeration value="dB" />
					<xs:enumeration value="Deg" />
					<xs:enumeration value="F" />
					<xs:enumeration value="g" />
					<xs:enumeration value="Hz" />
					<xs:enumeration value="kPa" />
					<xs:enumeration value="lx" />
					<xs:enumeration value="ms2" />
					<xs:enumeration value="N" />
					<xs:enumeration value="ohm" />
					<xs:enumeration value="pct" />
					<xs:enumeration value="RH" />
					<xs:enumeration value="RPM" />
					<xs:enumeration value="s" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType name="Phase">
				<xs:restriction base="xs:int">
					<xs:minInclusive value="1" />
					<xs:maxInclusive value="3" />
				</xs:restriction>
			</xs:simpleType>
			<xs:complexType name="HeartbeatRequest">
				<xs:annotation>
					<xs:documentation>Defines the heartbeat request from DSO to CSP
					</xs:documentation>
				</xs:annotation>
				<xs:sequence>
					<xs:sequence>
						<xs:element name="HeartBeatTimeInterval" type="tns:HeartBeatTimeInterval" />
						<xs:element name="ForecastTimeInterval" type="tns:ForecastTimeInterval" />
					</xs:sequence>
				</xs:sequence>
			</xs:complexType>
			<xs:complexType name="HeartbeatResponse">
				<xs:annotation>
					<xs:documentation>Defines the CSP response on DSO heartbeat message
					</xs:documentation>
				</xs:annotation>
				<xs:sequence>
					<xs:element name="CurrentTime" type="tns:DateTime" />
					<xs:element name="Result" type="tns:Result" />
				</xs:sequence>
			</xs:complexType>
			<xs:complexType name="UpdateCableCapacityForecastRequest">
				<xs:annotation>
					<xs:documentation>Defines the DSO request towards CSP with a
						capacity forecast
					</xs:documentation>
				</xs:annotation>
				<xs:sequence>
					<xs:element name="Forecast" maxOccurs="unbounded">
						<xs:complexType>
							<xs:sequence>
								<xs:element ref="tns:Cable" />
								<xs:element ref="tns:ForecastedBlock" maxOccurs="unbounded" />
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:complexType>
			<xs:complexType name="UpdateCableCapacityForecastResponse">
				<xs:annotation>
					<xs:documentation>Defines the CSP response on DSO capacity forecast
					</xs:documentation>
				</xs:annotation>
				<xs:sequence>
					<xs:element name="Result" type="tns:Result" />
				</xs:sequence>
			</xs:complexType>
			<xs:simpleType name="Value">
				<xs:restriction base="xs:decimal">
					<xs:totalDigits value="16" />
					<xs:fractionDigits value="2" />
				</xs:restriction>
			</xs:simpleType>
			<xs:complexType name="ValueType">
				<xs:simpleContent>
					<xs:extension base="tns:Value">
						<xs:attribute name="Unit" type="tns:UnitOfMeasure" />
						<xs:attribute name="Phase" type="tns:Phase" />
					</xs:extension>
				</xs:simpleContent>
			</xs:complexType>
			<xs:element name="Cable">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="CableId" type="tns:CableId" />
						<xs:element name="Connection" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="ConnectionReferenceId" type="tns:ConnectionReferenceId" />
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="ForecastedBlock">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Capacity" type="tns:ValueType"
							maxOccurs="3" />
						<xs:element name="StartTime" type="tns:DateTime" />
						<xs:element name="EndTime" type="tns:DateTime" />
						<xs:element name="RemainingCapacity" type="tns:ValueType"
							maxOccurs="3" />
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Parties" type="tns:Parties" />
			<xs:element name="Priority" type="tns:Priority" />
			<xs:element name="DateTime" type="tns:DateTime" />
			<xs:element name="UpdateCableCapacityForecastRequest"
				type="tns:UpdateCableCapacityForecastRequest" />
			<xs:element name="UpdateCableCapacityForecastResponse"
				type="tns:UpdateCableCapacityForecastResponse" />
			<xs:element name="HeartbeatRequest" type="tns:HeartbeatRequest" />
			<xs:element name="HeartbeatResponse" type="tns:HeartbeatResponse" />
		</xs:schema>
	</wsdl:types>
	<wsdl:service name="ChargeServiceProviderService">
		<wsdl:port name="ChargeServiceProviderServiceSoap12"
			binding="tns:ChargeServiceProviderServiceSoap12Binding">
			<soap:address
				location="http://LT-45890:8282/OSCP/ChargeServiceProviderService" />
		</wsdl:port>
	</wsdl:service>
	<wsdl:portType name="ChargeServiceProviderService">
		<wsdl:operation name="UpdateCableCapacityForecast">
			<wsdl:input message="tns:UpdateCableCapacityForecastInput"
				wsaw:Action="/UpdateCableCapacityForecast" />
			<wsdl:output message="tns:UpdateCableCapacityForecastOutput"
				wsaw:Action="/UpdateCableCapacityForecastResponse" />
		</wsdl:operation>
		<wsdl:operation name="Heartbeat">
			<wsdl:input message="tns:HeartbeatInput" wsaw:Action="/Heartbeat" />
			<wsdl:output message="tns:HeartbeatOutput" wsaw:Action="/HeartbeatResponse" />
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="ChargeServiceProviderServiceSoap12Binding"
		type="tns:ChargeServiceProviderService">
		<wsaw:UsingAddressing />
		<soap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="UpdateCableCapacityForecast">
			<soap:operation style="document" soapAction="/UpdateCableCapacityForecast"
				soapActionRequired="true" />
			<wsdl:input>
				<soap:body use="literal" parts="parameters" />
				<soap:header use="literal" message="tns:Header" part="parties" />
				<soap:header use="literal" message="tns:Header" part="priority" />
				<soap:header use="literal" message="tns:Header" part="datetime" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" parts="parameters" />
				<soap:header use="literal" message="tns:Header" part="parties" />
				<soap:header use="literal" message="tns:Header" part="priority" />
				<soap:header use="literal" message="tns:Header" part="datetime" />
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="Heartbeat">
			<soap:operation style="document" soapAction="/Heartbeat"
				soapActionRequired="true" />
			<wsdl:input>
				<soap:body use="literal" parts="parameters" />
				<soap:header use="literal" message="tns:Header" part="parties" />
				<soap:header use="literal" message="tns:Header" part="priority" />
				<soap:header use="literal" message="tns:Header" part="datetime" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" parts="parameters" />
				<soap:header use="literal" message="tns:Header" part="parties" />
				<soap:header use="literal" message="tns:Header" part="priority" />
				<soap:header use="literal" message="tns:Header" part="datetime" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:message name="Header">
		<wsdl:part name="priority" element="tns:Priority" />
		<wsdl:part name="parties" element="tns:Parties" />
		<wsdl:part name="datetime" element="tns:DateTime" />
	</wsdl:message>
	<wsdl:message name="UpdateCableCapacityForecastInput">
		<wsdl:part name="parameters" element="tns:UpdateCableCapacityForecastRequest" />
	</wsdl:message>
	<wsdl:message name="UpdateCableCapacityForecastOutput">
		<wsdl:part name="parameters" element="tns:UpdateCableCapacityForecastResponse" />
	</wsdl:message>
	<wsdl:message name="HeartbeatInput">
		<wsdl:part name="parameters" element="tns:HeartbeatRequest" />
	</wsdl:message>
	<wsdl:message name="HeartbeatOutput">
		<wsdl:part name="parameters" element="tns:HeartbeatResponse" />
	</wsdl:message>
</wsdl:definitions>