<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.bennedik.com/webservices/XfccBasic" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.bennedik.com/webservices/XfccBasic" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.bennedik.com/webservices/XfccBasic">
      <s:element name="GetMyGames">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetMyGamesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetMyGamesResult" type="tns:ArrayOfXfccGame" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfXfccGame">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="XfccGame" type="tns:XfccGame" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="XfccGame">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="id" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="white" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="black" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="event" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="site" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="myTurn" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="hasWhite" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="daysPlayer" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="hoursPlayer" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="minutesPlayer" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="daysOpponent" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="hoursOpponent" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="minutesOpponent" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="moves" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="drawOffered" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="serverInfo" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="gameLink" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="whiteTitle" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="blackTitle" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="whiteElo" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="blackElo" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="whiteNA" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="blackNA" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="eventDate" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="eventSponsor" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="section" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="stage" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="board" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="timeControl" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="setup" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="fen" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="result" type="tns:Result" />
          <s:element minOccurs="0" maxOccurs="1" name="variant" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="noEngines" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="whiteCountry" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="blackCountry" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="whiteIccfID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="blackIccfID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="whiteFideID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="blackFideID" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="Result">
        <s:restriction base="s:string">
          <s:enumeration value="Ongoing" />
          <s:enumeration value="WhiteWins" />
          <s:enumeration value="BlackWins" />
          <s:enumeration value="Draw" />
          <s:enumeration value="WhiteWinAdjudicated" />
          <s:enumeration value="BlackWinAdjudicated" />
          <s:enumeration value="DrawAdjudicated" />
          <s:enumeration value="WhiteDefaulted" />
          <s:enumeration value="BlackDefaulted" />
          <s:enumeration value="BothDefaulted" />
          <s:enumeration value="Cancelled" />
          <s:enumeration value="AdjudicationPending" />
        </s:restriction>
      </s:simpleType>
      <s:element name="MakeAMove">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="gameId" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="resign" type="s:boolean" />
            <s:element minOccurs="1" maxOccurs="1" name="acceptDraw" type="s:boolean" />
            <s:element minOccurs="1" maxOccurs="1" name="movecount" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="myMove" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="offerDraw" type="s:boolean" />
            <s:element minOccurs="1" maxOccurs="1" name="claimDraw" type="s:boolean" />
            <s:element minOccurs="0" maxOccurs="1" name="myMessage" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="MakeAMoveResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="MakeAMoveResult" type="tns:MakeAMoveResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:simpleType name="MakeAMoveResult">
        <s:restriction base="s:string">
          <s:enumeration value="Success" />
          <s:enumeration value="ServerError" />
          <s:enumeration value="AuthenticationFailed" />
          <s:enumeration value="InvalidGameID" />
          <s:enumeration value="NotYourGame" />
          <s:enumeration value="NotYourTurn" />
          <s:enumeration value="InvalidMoveNumber" />
          <s:enumeration value="InvalidMove" />
          <s:enumeration value="NoDrawWasOffered" />
          <s:enumeration value="LostOnTime" />
          <s:enumeration value="YouAreOnLeave" />
          <s:enumeration value="MoveIsAmbigous" />
          <s:enumeration value="FeatureUnavailable" />
        </s:restriction>
      </s:simpleType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetMyGamesSoapIn">
    <wsdl:part name="parameters" element="tns:GetMyGames" />
  </wsdl:message>
  <wsdl:message name="GetMyGamesSoapOut">
    <wsdl:part name="parameters" element="tns:GetMyGamesResponse" />
  </wsdl:message>
  <wsdl:message name="MakeAMoveSoapIn">
    <wsdl:part name="parameters" element="tns:MakeAMove" />
  </wsdl:message>
  <wsdl:message name="MakeAMoveSoapOut">
    <wsdl:part name="parameters" element="tns:MakeAMoveResponse" />
  </wsdl:message>
  <wsdl:portType name="XfccBasicSoap">
    <wsdl:operation name="GetMyGames">
      <wsdl:input message="tns:GetMyGamesSoapIn" />
      <wsdl:output message="tns:GetMyGamesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="MakeAMove">
      <wsdl:input message="tns:MakeAMoveSoapIn" />
      <wsdl:output message="tns:MakeAMoveSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="XfccBasicSoap" type="tns:XfccBasicSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetMyGames">
      <soap:operation soapAction="http://www.bennedik.com/webservices/XfccBasic/GetMyGames" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MakeAMove">
      <soap:operation soapAction="http://www.bennedik.com/webservices/XfccBasic/MakeAMove" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="XfccBasicSoap12" type="tns:XfccBasicSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetMyGames">
      <soap12:operation soapAction="http://www.bennedik.com/webservices/XfccBasic/GetMyGames" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MakeAMove">
      <soap12:operation soapAction="http://www.bennedik.com/webservices/XfccBasic/MakeAMove" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="XfccBasic">
    <wsdl:port name="XfccBasicSoap" binding="tns:XfccBasicSoap">
      <soap:address location="http://www.schemingmind.com/xfcc/xfccbasic.asmx" />
    </wsdl:port>
    <wsdl:port name="XfccBasicSoap12" binding="tns:XfccBasicSoap12">
      <soap12:address location="http://www.schemingmind.com/xfcc/xfccbasic.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>