<?php

namespace Eurostop\Sales;

class SalesWebServiceInterfacePluginCustom extends \SoapClient
{

    /**
     * @var array $classmap The defined classes
     */
    private static $classmap = array (
      'DateTimeOffset' => 'Eurostop\\Sales\\DateTimeOffsetCustom',
      'ReceiptHeader' => 'Eurostop\\Sales\\ReceiptHeaderCustom',
      'ArrayOfReceiptGiftCardTransaction' => 'Eurostop\\Sales\\ArrayOfReceiptGiftCardTransactionCustom',
      'ReceiptGiftCardTransaction' => 'Eurostop\\Sales\\ReceiptGiftCardTransactionCustom',
      'ArrayOfReceiptLineSku' => 'Eurostop\\Sales\\ArrayOfReceiptLineSkuCustom',
      'ReceiptLineSku' => 'Eurostop\\Sales\\ReceiptLineSkuCustom',
      'ArrayOfReceiptLinePriceModifier' => 'Eurostop\\Sales\\ArrayOfReceiptLinePriceModifierCustom',
      'ReceiptLinePriceModifier' => 'Eurostop\\Sales\\ReceiptLinePriceModifierCustom',
      'ArrayOfReceiptOperation' => 'Eurostop\\Sales\\ArrayOfReceiptOperationCustom',
      'ReceiptOperation' => 'Eurostop\\Sales\\ReceiptOperationCustom',
      'ArrayOfReceiptTender' => 'Eurostop\\Sales\\ArrayOfReceiptTenderCustom',
      'ReceiptTender' => 'Eurostop\\Sales\\ReceiptTenderCustom',
      'ArrayOfReceiptAccountTransaction' => 'Eurostop\\Sales\\ArrayOfReceiptAccountTransactionCustom',
      'ReceiptAccountTransaction' => 'Eurostop\\Sales\\ReceiptAccountTransactionCustom',
      'ArrayOfReceiptVoucherPurchase' => 'Eurostop\\Sales\\ArrayOfReceiptVoucherPurchaseCustom',
      'ReceiptVoucherPurchase' => 'Eurostop\\Sales\\ReceiptVoucherPurchaseCustom',
      'ArrayOfReceiptTaxCollection' => 'Eurostop\\Sales\\ArrayOfReceiptTaxCollection',
      'ReceiptTaxCollection' => 'Eurostop\\Sales\\ReceiptTaxCollection',
      'ArrayOfReceiptHeader' => 'Eurostop\\Sales\\ArrayOfReceiptHeaderCustom',
      'SubmittedReceiptHeader' => 'Eurostop\\Sales\\SubmittedReceiptHeaderCustom',
      'ArrayOfSubmittedReceiptGiftCardTransaction' => 'Eurostop\\Sales\\ArrayOfSubmittedReceiptGiftCardTransactionCustom',
      'SubmittedReceiptGiftCardTransaction' => 'Eurostop\\Sales\\SubmittedReceiptGiftCardTransactionCustom',
      'ArrayOfSubmittedReceiptLineSku' => 'Eurostop\\Sales\\ArrayOfSubmittedReceiptLineSkuCustom',
      'SubmittedReceiptLineSku' => 'Eurostop\\Sales\\SubmittedReceiptLineSkuCustom',
      'ArrayOfSubmittedReceiptOperation' => 'Eurostop\\Sales\\ArrayOfSubmittedReceiptOperationCustom',
      'SubmittedReceiptOperation' => 'Eurostop\\Sales\\SubmittedReceiptOperationCustom',
      'ArrayOfSubmittedReceiptPriceModifier' => 'Eurostop\\Sales\\ArrayOfSubmittedReceiptPriceModifierCustom',
      'SubmittedReceiptPriceModifier' => 'Eurostop\\Sales\\SubmittedReceiptPriceModifierCustom',
      'ArrayOfSubmittedReceiptTender' => 'Eurostop\\Sales\\ArrayOfSubmittedReceiptTenderCustom',
      'SubmittedReceiptTender' => 'Eurostop\\Sales\\SubmittedReceiptTenderCustom',
      'ArrayOfSubmittedReceiptVoucherPurchase' => 'Eurostop\\Sales\\ArrayOfSubmittedReceiptVoucherPurchaseCustom',
      'SubmittedReceiptVoucherPurchase' => 'Eurostop\\Sales\\SubmittedReceiptVoucherPurchaseCustom',
      'ArrayOfSubmittedReceiptTaxCollection' => 'Eurostop\\Sales\\ArrayOfSubmittedReceiptTaxCollection',
      'SubmittedReceiptTaxCollection' => 'Eurostop\\Sales\\SubmittedReceiptTaxCollection',
      'ArrayOfSubmittedReceiptHeader' => 'Eurostop\\Sales\\ArrayOfSubmittedReceiptHeaderCustom',
      'SerialisedVoucherNumber' => 'Eurostop\\Sales\\SerialisedVoucherNumber',
      'ArrayOfSerialisedVoucherNumber' => 'Eurostop\\Sales\\ArrayOfSerialisedVoucherNumber',
      'SerialisedVoucherStatus' => 'Eurostop\\Sales\\SerialisedVoucherStatus',
      'ArrayOfSerialisedVoucherStatus' => 'Eurostop\\Sales\\ArrayOfSerialisedVoucherStatus',
      'DataRetrievalResultOfReceiptHeader31Wk0GWA' => 'Eurostop\\Sales\\DataRetrievalResultOfReceiptHeader31Wk0GWACustom',
      'CodedRetrievedDataItemOfReceiptHeaderDtonkuuQA70' => 'Eurostop\\Sales\\CodedRetrievedDataItemOfReceiptHeaderDtonkuuQA70Custom',
      'RetrievedDataItemOfReceiptHeaderDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfReceiptHeaderDtonkuuQA70Custom',
      'RetrievedDataItemOfReceiptGiftCardTransactionDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfReceiptGiftCardTransactionDtonkuuQA70Custom',
      'RetrievedDataItemOfReceiptLineSkuDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfReceiptLineSkuDtonkuuQA70Custom',
      'RetrievedDataItemOfReceiptLinePriceModifierDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfReceiptLinePriceModifierDtonkuuQA70Custom',
      'RetrievedDataItemOfReceiptOperationDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfReceiptOperationDtonkuuQA70Custom',
      'RetrievedDataItemOfReceiptTenderDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfReceiptTenderDtonkuuQA70Custom',
      'RetrievedDataItemOfReceiptAccountTransactionDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfReceiptAccountTransactionDtonkuuQA70Custom',
      'RetrievedDataItemOfReceiptVoucherPurchaseDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfReceiptVoucherPurchaseDtonkuuQA70Custom',
      'RetrievedDataItemOfReceiptTaxCollectionDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfReceiptTaxCollectionDtonkuuQA70',
      'SubmittedDataItemOfSubmittedReceiptHeaderDtonkuuQA70' => 'Eurostop\\Sales\\SubmittedDataItemOfSubmittedReceiptHeaderDtonkuuQA70Custom',
      'SubmittedDataItemOfSubmittedReceiptGiftCardTransactionDtonkuuQA70' => 'Eurostop\\Sales\\SubmittedDataItemOfSubmittedReceiptGiftCardTransactionDtonkuuQA70Custom',
      'SubmittedDataItemOfSubmittedReceiptLineSkuDtonkuuQA70' => 'Eurostop\\Sales\\SubmittedDataItemOfSubmittedReceiptLineSkuDtonkuuQA70Custom',
      'SubmittedDataItemOfSubmittedReceiptOperationDtonkuuQA70' => 'Eurostop\\Sales\\SubmittedDataItemOfSubmittedReceiptOperationDtonkuuQA70Custom',
      'SubmittedDataItemOfSubmittedReceiptPriceModifierDtonkuuQA70' => 'Eurostop\\Sales\\SubmittedDataItemOfSubmittedReceiptPriceModifierDtonkuuQA70Custom',
      'SubmittedDataItemOfSubmittedReceiptTenderDtonkuuQA70' => 'Eurostop\\Sales\\SubmittedDataItemOfSubmittedReceiptTenderDtonkuuQA70Custom',
      'SubmittedDataItemOfSubmittedReceiptVoucherPurchaseDtonkuuQA70' => 'Eurostop\\Sales\\SubmittedDataItemOfSubmittedReceiptVoucherPurchaseDtonkuuQA70Custom',
      'SubmittedDataItemOfSubmittedReceiptTaxCollectionDtonkuuQA70' => 'Eurostop\\Sales\\SubmittedDataItemOfSubmittedReceiptTaxCollectionDtonkuuQA70',
      'DataSubmissionResult' => 'Eurostop\\Sales\\DataSubmissionResultCustom',
      'ArrayOfValidationError' => 'Eurostop\\Sales\\ArrayOfValidationErrorCustom',
      'ValidationError' => 'Eurostop\\Sales\\ValidationErrorCustom',
      'DataRetrievalResultOfSerialisedVoucherNumber31Wk0GWA' => 'Eurostop\\Sales\\DataRetrievalResultOfSerialisedVoucherNumber31Wk0GWA',
      'RetrievedDataItemOfSerialisedVoucherNumberDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfSerialisedVoucherNumberDtonkuuQA70',
      'DataRetrievalResultOfSerialisedVoucherStatus31Wk0GWA' => 'Eurostop\\Sales\\DataRetrievalResultOfSerialisedVoucherStatus31Wk0GWA',
      'RetrievedDataItemOfSerialisedVoucherStatusDtonkuuQA70' => 'Eurostop\\Sales\\RetrievedDataItemOfSerialisedVoucherStatusDtonkuuQA70',
      'ArrayOfDataProcessingResult' => 'Eurostop\\Sales\\ArrayOfDataProcessingResultCustom',
      'DataProcessingResult' => 'Eurostop\\Sales\\DataProcessingResultCustom',
      'ArrayOfDataProcessingStatus' => 'Eurostop\\Sales\\ArrayOfDataProcessingStatusCustom',
      'DataProcessingStatus' => 'Eurostop\\Sales\\DataProcessingStatusCustom',
      'GetReceiptsByTransactionDate' => 'Eurostop\\Sales\\GetReceiptsByTransactionDateCustom',
      'GetReceiptsByTransactionDateResponse' => 'Eurostop\\Sales\\GetReceiptsByTransactionDateResponseCustom',
      'GetReceiptsByBranchTransactionDate' => 'Eurostop\\Sales\\GetReceiptsByBranchTransactionDateCustom',
      'GetReceiptsByBranchTransactionDateResponse' => 'Eurostop\\Sales\\GetReceiptsByBranchTransactionDateResponseCustom',
      'GetReceiptsByBranchTillTransactionDate' => 'Eurostop\\Sales\\GetReceiptsByBranchTillTransactionDateCustom',
      'GetReceiptsByBranchTillTransactionDateResponse' => 'Eurostop\\Sales\\GetReceiptsByBranchTillTransactionDateResponseCustom',
      'GetReceiptsByResolvedDate' => 'Eurostop\\Sales\\GetReceiptsByResolvedDateCustom',
      'GetReceiptsByResolvedDateResponse' => 'Eurostop\\Sales\\GetReceiptsByResolvedDateResponseCustom',
      'GetReceiptsByBranchResolvedDate' => 'Eurostop\\Sales\\GetReceiptsByBranchResolvedDateCustom',
      'GetReceiptsByBranchResolvedDateResponse' => 'Eurostop\\Sales\\GetReceiptsByBranchResolvedDateResponseCustom',
      'GetReceiptsByBranchTillResolvedDate' => 'Eurostop\\Sales\\GetReceiptsByBranchTillResolvedDateCustom',
      'GetReceiptsByBranchTillResolvedDateResponse' => 'Eurostop\\Sales\\GetReceiptsByBranchTillResolvedDateResponseCustom',
      'GetReceiptsByReceiptNumber' => 'Eurostop\\Sales\\GetReceiptsByReceiptNumberCustom',
      'GetReceiptsByReceiptNumberResponse' => 'Eurostop\\Sales\\GetReceiptsByReceiptNumberResponseCustom',
      'GetReceiptByReceiptIdentifier' => 'Eurostop\\Sales\\GetReceiptByReceiptIdentifierCustom',
      'GetReceiptByReceiptIdentifierResponse' => 'Eurostop\\Sales\\GetReceiptByReceiptIdentifierResponseCustom',
      'GetReceiptsByReceiptIdentifier' => 'Eurostop\\Sales\\GetReceiptsByReceiptIdentifierCustom',
      'GetReceiptsByReceiptIdentifierResponse' => 'Eurostop\\Sales\\GetReceiptsByReceiptIdentifierResponseCustom',
      'GetReceiptsByReceiptId' => 'Eurostop\\Sales\\GetReceiptsByReceiptIdCustom',
      'GetReceiptsByReceiptIdResponse' => 'Eurostop\\Sales\\GetReceiptsByReceiptIdResponseCustom',
      'GetReceiptsByCustomer' => 'Eurostop\\Sales\\GetReceiptsByCustomer',
      'GetReceiptsByCustomerResponse' => 'Eurostop\\Sales\\GetReceiptsByCustomerResponse',
      'GetReceiptsByCustomerTransactionDate' => 'Eurostop\\Sales\\GetReceiptsByCustomerTransactionDate',
      'GetReceiptsByCustomerTransactionDateResponse' => 'Eurostop\\Sales\\GetReceiptsByCustomerTransactionDateResponse',
      'SubmitReceipt' => 'Eurostop\\Sales\\SubmitReceiptCustom',
      'SubmitReceiptResponse' => 'Eurostop\\Sales\\SubmitReceiptResponseCustom',
      'SubmitReceipts' => 'Eurostop\\Sales\\SubmitReceiptsCustom',
      'SubmitReceiptsResponse' => 'Eurostop\\Sales\\SubmitReceiptsResponseCustom',
      'GetNextSerialisedVoucherNumbers' => 'Eurostop\\Sales\\GetNextSerialisedVoucherNumbers',
      'GetNextSerialisedVoucherNumbersResponse' => 'Eurostop\\Sales\\GetNextSerialisedVoucherNumbersResponse',
      'GetSerialisedVoucherStatus' => 'Eurostop\\Sales\\GetSerialisedVoucherStatus',
      'GetSerialisedVoucherStatusResponse' => 'Eurostop\\Sales\\GetSerialisedVoucherStatusResponse',
      'FlagDataProcessingToRetryByReference' => 'Eurostop\\Sales\\FlagDataProcessingToRetryByReferenceCustom',
      'FlagDataProcessingToRetryByReferenceResponse' => 'Eurostop\\Sales\\FlagDataProcessingToRetryByReferenceResponseCustom',
      'FlagDataProcessingToRetryByToken' => 'Eurostop\\Sales\\FlagDataProcessingToRetryByTokenCustom',
      'FlagDataProcessingToRetryByTokenResponse' => 'Eurostop\\Sales\\FlagDataProcessingToRetryByTokenResponseCustom',
      'RunDataProcessingByReference' => 'Eurostop\\Sales\\RunDataProcessingByReferenceCustom',
      'RunDataProcessingByReferenceResponse' => 'Eurostop\\Sales\\RunDataProcessingByReferenceResponseCustom',
      'RunDataProcessingByToken' => 'Eurostop\\Sales\\RunDataProcessingByTokenCustom',
      'RunDataProcessingByTokenResponse' => 'Eurostop\\Sales\\RunDataProcessingByTokenResponseCustom',
    );

    /**
     * @param array $options A array of config values
     * @param string $wsdl The wsdl file to use
     */
    public function __construct(array $options = array(), $wsdl = null)
    {
      foreach (self::$classmap as $key => $value) {
        if (!isset($options['classmap'][$key])) {
          $options['classmap'][$key] = $value;
        }
      }
      $options = array_merge(array (
      'features' => 1,
    ), $options);
      if (!$wsdl) {
        $wsdl = 'https://database-test.eurostop.jdsportscanada.com:9120/e-interface/sales?wsdl';
      }
      parent::__construct($wsdl, $options);
    }

    /**
     * @param GetReceiptsByTransactionDateCustom $parameters
     * @return GetReceiptsByTransactionDateResponse
     */
    public function GetReceiptsByTransactionDate($parameters)
    {
      return $this->__soapCall('GetReceiptsByTransactionDate', array($parameters));
    }

    /**
     * @param GetReceiptsByBranchTransactionDateCustom $parameters
     * @return GetReceiptsByBranchTransactionDateResponse
     */
    public function GetReceiptsByBranchTransactionDate($parameters)
    {
      return $this->__soapCall('GetReceiptsByBranchTransactionDate', array($parameters));
    }

    /**
     * @param GetReceiptsByBranchTillTransactionDateCustom $parameters
     * @return GetReceiptsByBranchTillTransactionDateResponse
     */
    public function GetReceiptsByBranchTillTransactionDate($parameters)
    {
      return $this->__soapCall('GetReceiptsByBranchTillTransactionDate', array($parameters));
    }

    /**
     * @param GetReceiptsByResolvedDateCustom $parameters
     * @return GetReceiptsByResolvedDateResponse
     */
    public function GetReceiptsByResolvedDate($parameters)
    {
      return $this->__soapCall('GetReceiptsByResolvedDate', array($parameters));
    }

    /**
     * @param GetReceiptsByBranchResolvedDateCustom $parameters
     * @return GetReceiptsByBranchResolvedDateResponse
     */
    public function GetReceiptsByBranchResolvedDate($parameters)
    {
      return $this->__soapCall('GetReceiptsByBranchResolvedDate', array($parameters));
    }

    /**
     * @param GetReceiptsByBranchTillResolvedDateCustom $parameters
     * @return GetReceiptsByBranchTillResolvedDateResponse
     */
    public function GetReceiptsByBranchTillResolvedDate($parameters)
    {
      return $this->__soapCall('GetReceiptsByBranchTillResolvedDate', array($parameters));
    }

    /**
     * @param GetReceiptsByReceiptNumberCustom $parameters
     * @return GetReceiptsByReceiptNumberResponse
     */
    public function GetReceiptsByReceiptNumber($parameters)
    {
      return $this->__soapCall('GetReceiptsByReceiptNumber', array($parameters));
    }

    /**
     * @param GetReceiptByReceiptIdentifierCustom $parameters
     * @return GetReceiptByReceiptIdentifierResponse
     */
    public function GetReceiptByReceiptIdentifier($parameters)
    {
      return $this->__soapCall('GetReceiptByReceiptIdentifier', array($parameters));
    }

    /**
     * @param GetReceiptsByReceiptIdentifierCustom $parameters
     * @return GetReceiptsByReceiptIdentifierResponse
     */
    public function GetReceiptsByReceiptIdentifier($parameters)
    {
      return $this->__soapCall('GetReceiptsByReceiptIdentifier', array($parameters));
    }

    /**
     * @param GetReceiptsByReceiptIdCustom $parameters
     * @return GetReceiptsByReceiptIdResponse
     */
    public function GetReceiptsByReceiptId($parameters)
    {
      return $this->__soapCall('GetReceiptsByReceiptId', array($parameters));
    }

    /**
     * @param GetReceiptsByCustomer $parameters
     * @return GetReceiptsByCustomerResponse
     */
    public function GetReceiptsByCustomer(GetReceiptsByCustomer $parameters)
    {
      return $this->__soapCall('GetReceiptsByCustomer', array($parameters));
    }

    /**
     * @param GetReceiptsByCustomerTransactionDate $parameters
     * @return GetReceiptsByCustomerTransactionDateResponse
     */
    public function GetReceiptsByCustomerTransactionDate(GetReceiptsByCustomerTransactionDate $parameters)
    {
      return $this->__soapCall('GetReceiptsByCustomerTransactionDate', array($parameters));
    }

    /**
     * @param SubmitReceiptCustom $parameters
     * @return SubmitReceiptResponse
     */
    public function SubmitReceipt($parameters)
    {
      return $this->__soapCall('SubmitReceipt', array($parameters));
    }

    /**
     * @param SubmitReceiptsCustom $parameters
     * @return SubmitReceiptsResponse
     */
    public function SubmitReceipts($parameters)
    {
      return $this->__soapCall('SubmitReceipts', array($parameters));
    }

    /**
     * @param GetNextSerialisedVoucherNumbers $parameters
     * @return GetNextSerialisedVoucherNumbersResponse
     */
    public function GetNextSerialisedVoucherNumbers(GetNextSerialisedVoucherNumbers $parameters)
    {
      return $this->__soapCall('GetNextSerialisedVoucherNumbers', array($parameters));
    }

    /**
     * @param GetSerialisedVoucherStatus $parameters
     * @return GetSerialisedVoucherStatusResponse
     */
    public function GetSerialisedVoucherStatus(GetSerialisedVoucherStatus $parameters)
    {
      return $this->__soapCall('GetSerialisedVoucherStatus', array($parameters));
    }

    /**
     * @param FlagDataProcessingToRetryByReferenceCustom $parameters
     * @return FlagDataProcessingToRetryByReferenceResponse
     */
    public function FlagDataProcessingToRetryByReference($parameters)
    {
      return $this->__soapCall('FlagDataProcessingToRetryByReference', array($parameters));
    }

    /**
     * @param FlagDataProcessingToRetryByTokenCustom $parameters
     * @return FlagDataProcessingToRetryByTokenResponse
     */
    public function FlagDataProcessingToRetryByToken($parameters)
    {
      return $this->__soapCall('FlagDataProcessingToRetryByToken', array($parameters));
    }

    /**
     * @param RunDataProcessingByReferenceCustom $parameters
     * @return RunDataProcessingByReferenceResponse
     */
    public function RunDataProcessingByReference($parameters)
    {
      return $this->__soapCall('RunDataProcessingByReference', array($parameters));
    }

    /**
     * @param RunDataProcessingByTokenCustom $parameters
     * @return RunDataProcessingByTokenResponse
     */
    public function RunDataProcessingByToken($parameters)
    {
      return $this->__soapCall('RunDataProcessingByToken', array($parameters));
    }

}
