<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:schema="https://onecard.net/webservice" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="https://onecard.net/webservice">
  <wsdl:types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ar="https://onecard.net/webservice" elementFormDefault="qualified" targetNamespace="https://onecard.net/webservice">

<!-- ****************************************** POS GET PRODUCT LIST *************************************************** -->

	<element name="POSGetProductListRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="signature" type="string"/>
			</sequence>
		</complexType>
	</element>

	<element name="POSGetProductListResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
				<element name="productList" type="ar:ProductList"/>
				<element name="responseInfo" type="string"/>
			</sequence>
		</complexType>
	</element>

	<complexType name="ProductList">
		<sequence>
			<element maxOccurs="unbounded" minOccurs="1" name="product" type="ar:Product"/>
		</sequence>
	</complexType>

	<complexType name="Product">
		<sequence>
			<element name="productCode" type="long"/>
			<element name="nameAr" type="string"/>
			<element name="nameEn" type="string"/>
			<element name="productPrice" type="double"/>
			<element name="productCurrency" type="string"/>
			<element name="posPrice" type="double"/>
			<element name="posCurrency" type="string"/>
			<element name="available" type="boolean"/>
			<element name="merchantID" type="long"/>
			<element name="merchantNameAr" type="string"/>
			<element name="merchantNameEn" type="string"/>
		</sequence>
	</complexType>

	<!-- ********************************************************************************************************* -->

	<!-- ******************************************POS GET PRODUCT WITH VAT LIST ****************************************** -->
	
	<element name="POSGetProductWithVATListRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="signature" type="string"/>
			</sequence>
		</complexType>
	</element>
	
	<element name="POSGetProductWithVATListResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
				<element name="ProductWithVATList" type="ar:ProductWithVATList"/>
				<element name="responseInfo" type="string"/>
			</sequence>
		</complexType>
	</element>
	
	<complexType name="ProductWithVATList">
		<sequence>
			<element maxOccurs="unbounded" minOccurs="1" name="product" type="ar:ProductWithVAT"/>
		</sequence>
	</complexType>
	
	<complexType name="ProductWithVAT">
		<sequence>
			<element name="productCode" type="long"/>
			<element name="nameAr" type="string"/>
			<element name="nameEn" type="string"/>
			<element name="vatType" type="string"/>
			<element name="vatValue" type="double"/>
			<element name="faceValue" type="double"/>
			<element name="posPrice" type="double"/>
			<element name="posCurrency" type="string"/>
			<element name="available" type="boolean"/>
			<element name="merchantID" type="long"/>
			<element name="merchantNameAr" type="string"/>
			<element name="merchantNameEn" type="string"/>
		</sequence>
	</complexType>
	
	<!-- ****************************************** POS PURCHASE PRODUCT *************************************************** -->

	<element name="POSPurchaseProductRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="productCode" type="long"/>
				<element name="signature" type="string"/>
				<element maxOccurs="1" minOccurs="0" name="terminalId" type="string"/>
				<element maxOccurs="1" minOccurs="0" name="trxRefNumber" type="string"/>
			</sequence>
		</complexType>
	</element>

	<element name="POSPurchaseProductResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
				<element name="balance" type="double"/>
				<element name="currency" type="string"/>
				<element name="secret" type="string"/>
				<element name="serial" type="string"/>
				<element name="username" type="string"/>
				<element name="productType" type="integer"/>
				<element maxOccurs="1" minOccurs="0" name="trxRefNumber" type="string"/>
				<element name="amount" type="double"/>
				<element maxOccurs="1" minOccurs="0" name="ocTrxRefNumber" type="string"/>
				<element name="requestDate" type="dateTime"/>
			</sequence>
		</complexType>
	</element>

	<!-- ********************************************************************************************************* -->

	<!-- ****************************************** POS GET PRODUCT INFO *************************************************** -->

	<element name="POSGetProductInfoRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="productCode" type="long"/>
				<element name="signature" type="string"/>
			</sequence>
		</complexType>
	</element>

	<element name="POSGetProductInfoResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
				<element name="productCode" type="long"/>
				<element name="nameAr" type="string"/>
				<element name="nameEn" type="string"/>
				<element name="productPrice" type="double"/>
				<element name="productCurrency" type="string"/>
				<element name="posPrice" type="double"/>
				<element name="posCurrency" type="string"/>
				<element name="available" type="boolean"/>
				<element name="merchantNameAr" type="string"/>
				<element name="merchantNameEn" type="string"/>
			</sequence>
		</complexType>
	</element>
	
	
	<!-- ********************************************************************************************************* -->

	<!-- ****************************************** POS QUERY BY TRANSACTION ************************************* -->

	<element name="POSQueryByTransactionRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="trxRefNumber" type="string"/>
				<element name="signature" type="string"/>
			</sequence>
		</complexType>
	</element>

	<element name="POSQueryByTransactionResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
				<element name="amount" type="double"/>
				<element name="currency" type="string"/>
				<element name="productType" type="integer"/>
				<element name="secret" type="string"/>
				<element name="serial" type="string"/>
				<element name="username" type="string"/>
				<element maxOccurs="1" minOccurs="0" name="ocTrxRefNumber" type="string"/>
				<element name="trxDate" type="dateTime"/>
			</sequence>
		</complexType>
	</element>


	<!-- ********************************************************************************************************* -->

	<!-- ****************************************** POS CHECK BALANCE *************************************************** -->

	<element name="POSCheckBalanceRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="signature" type="string"/>
			</sequence>
		</complexType>
	</element>

	<element name="POSCheckBalanceResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
				<element name="currency" type="string"/>
				<element name="balance" type="double"/>
			</sequence>
		</complexType>
	</element>

	<!-- ****************************************** POS PURCHASE RECONCILIATION REQUEST *************************************************** -->

	<element name="POSInitialReconciliationServiceRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="signature" type="string"/>
				<element name="requestId" type="string"/>
				<element name="terminalId" type="string"/>
				<element name="totalTransactionNo" type="integer"/>
				<element name="currentDate" type="dateTime"/>
				<element name="totalAmount" type="double"/>
			</sequence>
		</complexType>
	</element>

	<element name="POSDetailedReconciliationServiceRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="signature" type="string"/>
				<element name="requestId" type="string"/>
				<element name="terminalId" type="string"/>
				<element name="numOfSuccessTrx" type="integer"/>
				<element name="currentDate" type="dateTime"/>
				<element name="lastTrxDate" type="dateTime"/>
				<element name="initialRequestId" type="string"/>
				<element name="successTrxNumbersList" type="ar:successTrxNumbersList"/>
			</sequence>
		</complexType>
	</element>


	<complexType name="successTrxNumbersList">
		<sequence>
			<element maxOccurs="1000" minOccurs="1" name="trxRefNumber" type="string"/>
		</sequence>
	</complexType>


	<element name="POSReconciliationServiceResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
			</sequence>
		</complexType>
	</element>

	<!-- ********************************************************************************************************* -->
    <!-- ****************************************** POS GET product id *************************************************** -->
    <element name="POSGetProductIDRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="signature" type="string"/>
			</sequence>
		</complexType>
	</element>

	<element name="POSGetProductIDResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
				<element name="productList" type="ar:ProductList"/>
			</sequence>
		</complexType>
	</element>
	<!-- ********************************************************************************************************* -->
	<!-- ****************************************** POS GET PRODUCT INFO *************************************************** -->

	<element name="POSGetProductInfoPosPriceRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="productCode" type="long"/>
				<element name="signature" type="string"/>
			</sequence>
		</complexType>
	</element>

	<element name="POSGetProductInfoPosPriceResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
				<element name="productCode" type="long"/>
				<element name="nameAr" type="string"/>
				<element name="nameEn" type="string"/>
				<element name="productPrice" type="double"/>
				<element name="productCurrency" type="string"/>
				<element name="prodPriceInPosCur" type="double"/>
				<element name="posPrice" type="double"/>
				<element name="posCurrency" type="string"/>
				<element name="available" type="boolean"/>
				<element name="merchantNameAr" type="string"/>
				<element name="merchantNameEn" type="string"/>
			</sequence>
		</complexType>
	</element>

	<!-- ********************************************************************************************************* -->
	<!-- ****************************************** POS GET PRODUCT WITH VAT INFO *************************************************** -->

	<element name="POSGetProductWithVATInfoPosPriceRequest">
		<complexType>
			<sequence>
				<element name="posUsername" type="string"/>
				<element name="productCode" type="long"/>
				<element name="signature" type="string"/>
			</sequence>
		</complexType>
	</element>

	<element name="POSGetProductWithVATInfoPosPriceResponse">
		<complexType>
			<sequence>
				<element name="status" type="boolean"/>
				<element name="errorCode" type="string"/>
				<element name="productCode" type="long"/>
				<element name="nameAr" type="string"/>
				<element name="nameEn" type="string"/>
				<element name="vatType" type="string"/>
				<element name="vatValue" type="double"/>
				<element name="faceValue" type="double"/>
				<element name="posPrice" type="double"/>
				<element name="posCurrency" type="string"/>
				<element name="available" type="boolean"/>
				<element name="merchantID" type="long"/>
				<element name="merchantNameAr" type="string"/>
				<element name="merchantNameEn" type="string"/>
			</sequence>
		</complexType>
	</element>

	<!-- ********************************************************************************************************* -->

</schema>
  </wsdl:types>
  <wsdl:message name="POSGetProductInfoPosPriceRequest">
    <wsdl:part element="schema:POSGetProductInfoPosPriceRequest" name="POSGetProductInfoPosPriceRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSQueryByTransactionRequest">
    <wsdl:part element="schema:POSQueryByTransactionRequest" name="POSQueryByTransactionRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSPurchaseProductRequest">
    <wsdl:part element="schema:POSPurchaseProductRequest" name="POSPurchaseProductRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductIDRequest">
    <wsdl:part element="schema:POSGetProductIDRequest" name="POSGetProductIDRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductInfoResponse">
    <wsdl:part element="schema:POSGetProductInfoResponse" name="POSGetProductInfoResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductInfoRequest">
    <wsdl:part element="schema:POSGetProductInfoRequest" name="POSGetProductInfoRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductWithVATInfoPosPriceRequest">
    <wsdl:part element="schema:POSGetProductWithVATInfoPosPriceRequest" name="POSGetProductWithVATInfoPosPriceRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductIDResponse">
    <wsdl:part element="schema:POSGetProductIDResponse" name="POSGetProductIDResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductWithVATListRequest">
    <wsdl:part element="schema:POSGetProductWithVATListRequest" name="POSGetProductWithVATListRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductWithVATInfoPosPriceResponse">
    <wsdl:part element="schema:POSGetProductWithVATInfoPosPriceResponse" name="POSGetProductWithVATInfoPosPriceResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSInitialReconciliationServiceRequest">
    <wsdl:part element="schema:POSInitialReconciliationServiceRequest" name="POSInitialReconciliationServiceRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductWithVATListResponse">
    <wsdl:part element="schema:POSGetProductWithVATListResponse" name="POSGetProductWithVATListResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSDetailedReconciliationServiceRequest">
    <wsdl:part element="schema:POSDetailedReconciliationServiceRequest" name="POSDetailedReconciliationServiceRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductListResponse">
    <wsdl:part element="schema:POSGetProductListResponse" name="POSGetProductListResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductListRequest">
    <wsdl:part element="schema:POSGetProductListRequest" name="POSGetProductListRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSCheckBalanceRequest">
    <wsdl:part element="schema:POSCheckBalanceRequest" name="POSCheckBalanceRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSReconciliationServiceResponse">
    <wsdl:part element="schema:POSReconciliationServiceResponse" name="POSReconciliationServiceResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSPurchaseProductResponse">
    <wsdl:part element="schema:POSPurchaseProductResponse" name="POSPurchaseProductResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSQueryByTransactionResponse">
    <wsdl:part element="schema:POSQueryByTransactionResponse" name="POSQueryByTransactionResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSCheckBalanceResponse">
    <wsdl:part element="schema:POSCheckBalanceResponse" name="POSCheckBalanceResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="POSGetProductInfoPosPriceResponse">
    <wsdl:part element="schema:POSGetProductInfoPosPriceResponse" name="POSGetProductInfoPosPriceResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="OneCardPOSSystem">
    <wsdl:operation name="POSGetProductInfoPosPrice">
      <wsdl:input message="schema:POSGetProductInfoPosPriceRequest" name="POSGetProductInfoPosPriceRequest">
    </wsdl:input>
      <wsdl:output message="schema:POSGetProductInfoPosPriceResponse" name="POSGetProductInfoPosPriceResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSQueryByTransaction">
      <wsdl:input message="schema:POSQueryByTransactionRequest" name="POSQueryByTransactionRequest">
    </wsdl:input>
      <wsdl:output message="schema:POSQueryByTransactionResponse" name="POSQueryByTransactionResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSPurchaseProduct">
      <wsdl:input message="schema:POSPurchaseProductRequest" name="POSPurchaseProductRequest">
    </wsdl:input>
      <wsdl:output message="schema:POSPurchaseProductResponse" name="POSPurchaseProductResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductID">
      <wsdl:input message="schema:POSGetProductIDRequest" name="POSGetProductIDRequest">
    </wsdl:input>
      <wsdl:output message="schema:POSGetProductIDResponse" name="POSGetProductIDResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductInfo">
      <wsdl:input message="schema:POSGetProductInfoRequest" name="POSGetProductInfoRequest">
    </wsdl:input>
      <wsdl:output message="schema:POSGetProductInfoResponse" name="POSGetProductInfoResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductWithVATInfoPosPrice">
      <wsdl:input message="schema:POSGetProductWithVATInfoPosPriceRequest" name="POSGetProductWithVATInfoPosPriceRequest">
    </wsdl:input>
      <wsdl:output message="schema:POSGetProductWithVATInfoPosPriceResponse" name="POSGetProductWithVATInfoPosPriceResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductWithVATList">
      <wsdl:input message="schema:POSGetProductWithVATListRequest" name="POSGetProductWithVATListRequest">
    </wsdl:input>
      <wsdl:output message="schema:POSGetProductWithVATListResponse" name="POSGetProductWithVATListResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSInitialReconciliationService">
      <wsdl:input message="schema:POSInitialReconciliationServiceRequest" name="POSInitialReconciliationServiceRequest">
    </wsdl:input>
    </wsdl:operation>
    <wsdl:operation name="POSDetailedReconciliationService">
      <wsdl:input message="schema:POSDetailedReconciliationServiceRequest" name="POSDetailedReconciliationServiceRequest">
    </wsdl:input>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductList">
      <wsdl:input message="schema:POSGetProductListRequest" name="POSGetProductListRequest">
    </wsdl:input>
      <wsdl:output message="schema:POSGetProductListResponse" name="POSGetProductListResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSCheckBalance">
      <wsdl:input message="schema:POSCheckBalanceRequest" name="POSCheckBalanceRequest">
    </wsdl:input>
      <wsdl:output message="schema:POSCheckBalanceResponse" name="POSCheckBalanceResponse">
    </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="OneCardPOSSystemBinding" type="schema:OneCardPOSSystem">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="POSGetProductInfoPosPrice">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSGetProductInfoPosPriceRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="POSGetProductInfoPosPriceResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSQueryByTransaction">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSQueryByTransactionRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="POSQueryByTransactionResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSPurchaseProduct">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSPurchaseProductRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="POSPurchaseProductResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductID">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSGetProductIDRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="POSGetProductIDResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductInfo">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSGetProductInfoRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="POSGetProductInfoResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductWithVATInfoPosPrice">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSGetProductWithVATInfoPosPriceRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="POSGetProductWithVATInfoPosPriceResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductWithVATList">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSGetProductWithVATListRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="POSGetProductWithVATListResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSInitialReconciliationService">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSInitialReconciliationServiceRequest">
        <soap:body use="literal"/>
      </wsdl:input>
    </wsdl:operation>
    <wsdl:operation name="POSDetailedReconciliationService">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSDetailedReconciliationServiceRequest">
        <soap:body use="literal"/>
      </wsdl:input>
    </wsdl:operation>
    <wsdl:operation name="POSGetProductList">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSGetProductListRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="POSGetProductListResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="POSCheckBalance">
      <soap:operation soapAction=""/>
      <wsdl:input name="POSCheckBalanceRequest">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="POSCheckBalanceResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="OneCardPOSSystemService">
    <wsdl:port binding="schema:OneCardPOSSystemBinding" name="OneCardPOSSystemPort">
      <soap:address location="https://www.ocstaging.net/webservice"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>