<?php

namespace Eurostop\Organisation;

class OrganisationWebServiceInterfacePluginCustom extends \SoapClient
{

    /**
     * @var array $classmap The defined classes
     */
    private static $classmap = array (
      'Branch' => 'Eurostop\\Organisation\\BranchCustom',
      'ArrayOfBranch' => 'Eurostop\\Organisation\\ArrayOfBranchCustom',
      'BranchGroup' => 'Eurostop\\Organisation\\BranchGroup',
      'ArrayOfBranchGroup' => 'Eurostop\\Organisation\\ArrayOfBranchGroup',
      'Country' => 'Eurostop\\Organisation\\CountryCustom',
      'ArrayOfCountry' => 'Eurostop\\Organisation\\ArrayOfCountryCustom',
      'Currency' => 'Eurostop\\Organisation\\CurrencyCustom',
      'ArrayOfCurrency' => 'Eurostop\\Organisation\\ArrayOfCurrencyCustom',
      'CurrencyConversion' => 'Eurostop\\Organisation\\CurrencyConversionCustom',
      'ArrayOfCurrencyConversion' => 'Eurostop\\Organisation\\ArrayOfCurrencyConversionCustom',
      'SubmittedCurrencyConversion' => 'Eurostop\\Organisation\\SubmittedCurrencyConversionCustom',
      'ArrayOfSubmittedCurrencyConversion' => 'Eurostop\\Organisation\\ArrayOfSubmittedCurrencyConversionCustom',
      'TenderType' => 'Eurostop\\Organisation\\TenderTypeCustom',
      'ArrayOfTenderType' => 'Eurostop\\Organisation\\ArrayOfTenderTypeCustom',
      'SubmittedTenderType' => 'Eurostop\\Organisation\\SubmittedTenderTypeCustom',
      'ArrayOfSubmittedTenderType' => 'Eurostop\\Organisation\\ArrayOfSubmittedTenderTypeCustom',
      'VatRate' => 'Eurostop\\Organisation\\VatRateCustom',
      'ArrayOfVatRate' => 'Eurostop\\Organisation\\ArrayOfVatRateCustom',
      'SubmittedVatRate' => 'Eurostop\\Organisation\\SubmittedVatRateCustom',
      'ArrayOfSubmittedVatRate' => 'Eurostop\\Organisation\\ArrayOfSubmittedVatRateCustom',
      'ReasonType' => 'Eurostop\\Organisation\\ReasonTypeCustom',
      'ArrayOfReasonType' => 'Eurostop\\Organisation\\ArrayOfReasonTypeCustom',
      'TransferReasonType' => 'Eurostop\\Organisation\\TransferReasonTypeCustom',
      'ArrayOfTransferReasonType' => 'Eurostop\\Organisation\\ArrayOfTransferReasonTypeCustom',
      'WriteOnOffReasonType' => 'Eurostop\\Organisation\\WriteOnOffReasonTypeCustom',
      'ArrayOfWriteOnOffReasonType' => 'Eurostop\\Organisation\\ArrayOfWriteOnOffReasonTypeCustom',
      'DataRetrievalResultOfBranchmaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfBranchmaxaTWRZCustom',
      'CodedRetrievedDataItemOfBranchDtoTPKTiFnX' => 'Eurostop\\Organisation\\CodedRetrievedDataItemOfBranchDtoTPKTiFnXCustom',
      'RetrievedDataItemOfBranchDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfBranchDtoTPKTiFnXCustom',
      'DataRetrievalResultOfBranchGroupmaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfBranchGroupmaxaTWRZ',
      'CodedRetrievedDataItemOfBranchGroupDtoTPKTiFnX' => 'Eurostop\\Organisation\\CodedRetrievedDataItemOfBranchGroupDtoTPKTiFnX',
      'RetrievedDataItemOfBranchGroupDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfBranchGroupDtoTPKTiFnX',
      'DataRetrievalResultOfCountrymaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfCountrymaxaTWRZCustom',
      'CodedRetrievedDataItemOfCountryDtoTPKTiFnX' => 'Eurostop\\Organisation\\CodedRetrievedDataItemOfCountryDtoTPKTiFnXCustom',
      'RetrievedDataItemOfCountryDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfCountryDtoTPKTiFnXCustom',
      'DataRetrievalResultOfCurrencymaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfCurrencymaxaTWRZCustom',
      'CodedRetrievedDataItemOfCurrencyDtoTPKTiFnX' => 'Eurostop\\Organisation\\CodedRetrievedDataItemOfCurrencyDtoTPKTiFnXCustom',
      'RetrievedDataItemOfCurrencyDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfCurrencyDtoTPKTiFnXCustom',
      'DataRetrievalResultOfCurrencyConversionmaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfCurrencyConversionmaxaTWRZCustom',
      'RetrievedDataItemOfCurrencyConversionDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfCurrencyConversionDtoTPKTiFnXCustom',
      'SubmittedDataItemOfSubmittedCurrencyConversionDtoTPKTiFnX' => 'Eurostop\\Organisation\\SubmittedDataItemOfSubmittedCurrencyConversionDtoTPKTiFnXCustom',
      'DataSubmissionResult' => 'Eurostop\\Organisation\\DataSubmissionResultCustom',
      'ArrayOfValidationError' => 'Eurostop\\Organisation\\ArrayOfValidationErrorCustom',
      'ValidationError' => 'Eurostop\\Organisation\\ValidationErrorCustom',
      'DataRetrievalResultOfTenderTypemaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfTenderTypemaxaTWRZCustom',
      'CodedRetrievedDataItemOfTenderTypeDtoTPKTiFnX' => 'Eurostop\\Organisation\\CodedRetrievedDataItemOfTenderTypeDtoTPKTiFnXCustom',
      'RetrievedDataItemOfTenderTypeDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfTenderTypeDtoTPKTiFnXCustom',
      'SubmittedDataItemOfSubmittedTenderTypeDtoTPKTiFnX' => 'Eurostop\\Organisation\\SubmittedDataItemOfSubmittedTenderTypeDtoTPKTiFnXCustom',
      'DataRetrievalResultOfVatRatemaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfVatRatemaxaTWRZCustom',
      'CodedRetrievedDataItemOfVatRateDtoTPKTiFnX' => 'Eurostop\\Organisation\\CodedRetrievedDataItemOfVatRateDtoTPKTiFnXCustom',
      'RetrievedDataItemOfVatRateDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfVatRateDtoTPKTiFnXCustom',
      'SubmittedDataItemOfSubmittedVatRateDtoTPKTiFnX' => 'Eurostop\\Organisation\\SubmittedDataItemOfSubmittedVatRateDtoTPKTiFnXCustom',
      'DataRetrievalResultOfReasonTypemaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfReasonTypemaxaTWRZCustom',
      'CodedRetrievedDataItemOfReasonTypeDtoTPKTiFnX' => 'Eurostop\\Organisation\\CodedRetrievedDataItemOfReasonTypeDtoTPKTiFnXCustom',
      'RetrievedDataItemOfReasonTypeDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfReasonTypeDtoTPKTiFnXCustom',
      'DataRetrievalResultOfTransferReasonTypemaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfTransferReasonTypemaxaTWRZCustom',
      'CodedRetrievedDataItemOfTransferReasonTypeDtoTPKTiFnX' => 'Eurostop\\Organisation\\CodedRetrievedDataItemOfTransferReasonTypeDtoTPKTiFnXCustom',
      'RetrievedDataItemOfTransferReasonTypeDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfTransferReasonTypeDtoTPKTiFnXCustom',
      'DataRetrievalResultOfWriteOnOffReasonTypemaxaTWRZ' => 'Eurostop\\Organisation\\DataRetrievalResultOfWriteOnOffReasonTypemaxaTWRZCustom',
      'CodedRetrievedDataItemOfWriteOnOffReasonTypeDtoTPKTiFnX' => 'Eurostop\\Organisation\\CodedRetrievedDataItemOfWriteOnOffReasonTypeDtoTPKTiFnXCustom',
      'RetrievedDataItemOfWriteOnOffReasonTypeDtoTPKTiFnX' => 'Eurostop\\Organisation\\RetrievedDataItemOfWriteOnOffReasonTypeDtoTPKTiFnXCustom',
      'ArrayOfDataProcessingResult' => 'Eurostop\\Organisation\\ArrayOfDataProcessingResultCustom',
      'DataProcessingResult' => 'Eurostop\\Organisation\\DataProcessingResultCustom',
      'ArrayOfDataProcessingStatus' => 'Eurostop\\Organisation\\ArrayOfDataProcessingStatusCustom',
      'DataProcessingStatus' => 'Eurostop\\Organisation\\DataProcessingStatusCustom',
      'GetBranches' => 'Eurostop\\Organisation\\GetBranchesCustom',
      'GetBranchesResponse' => 'Eurostop\\Organisation\\GetBranchesResponseCustom',
      'GetBranchGroups' => 'Eurostop\\Organisation\\GetBranchGroups',
      'GetBranchGroupsResponse' => 'Eurostop\\Organisation\\GetBranchGroupsResponse',
      'GetCountries' => 'Eurostop\\Organisation\\GetCountriesCustom',
      'GetCountriesResponse' => 'Eurostop\\Organisation\\GetCountriesResponseCustom',
      'GetCurrencies' => 'Eurostop\\Organisation\\GetCurrenciesCustom',
      'GetCurrenciesResponse' => 'Eurostop\\Organisation\\GetCurrenciesResponseCustom',
      'GetCurrentCurrencyConversionRates' => 'Eurostop\\Organisation\\GetCurrentCurrencyConversionRatesCustom',
      'GetCurrentCurrencyConversionRatesResponse' => 'Eurostop\\Organisation\\GetCurrentCurrencyConversionRatesResponseCustom',
      'SubmitCurrencyConversionRate' => 'Eurostop\\Organisation\\SubmitCurrencyConversionRateCustom',
      'SubmitCurrencyConversionRateResponse' => 'Eurostop\\Organisation\\SubmitCurrencyConversionRateResponseCustom',
      'SubmitCurrencyConversionRates' => 'Eurostop\\Organisation\\SubmitCurrencyConversionRatesCustom',
      'SubmitCurrencyConversionRatesResponse' => 'Eurostop\\Organisation\\SubmitCurrencyConversionRatesResponseCustom',
      'GetTenderTypes' => 'Eurostop\\Organisation\\GetTenderTypesCustom',
      'GetTenderTypesResponse' => 'Eurostop\\Organisation\\GetTenderTypesResponseCustom',
      'SubmitTenderType' => 'Eurostop\\Organisation\\SubmitTenderTypeCustom',
      'SubmitTenderTypeResponse' => 'Eurostop\\Organisation\\SubmitTenderTypeResponseCustom',
      'SubmitTenderTypes' => 'Eurostop\\Organisation\\SubmitTenderTypesCustom',
      'SubmitTenderTypesResponse' => 'Eurostop\\Organisation\\SubmitTenderTypesResponseCustom',
      'GetVatRate' => 'Eurostop\\Organisation\\GetVatRateCustom',
      'GetVatRateResponse' => 'Eurostop\\Organisation\\GetVatRateResponseCustom',
      'GetAllVatRates' => 'Eurostop\\Organisation\\GetAllVatRatesCustom',
      'GetAllVatRatesResponse' => 'Eurostop\\Organisation\\GetAllVatRatesResponseCustom',
      'SubmitVatRate' => 'Eurostop\\Organisation\\SubmitVatRateCustom',
      'SubmitVatRateResponse' => 'Eurostop\\Organisation\\SubmitVatRateResponseCustom',
      'SubmitVatRates' => 'Eurostop\\Organisation\\SubmitVatRatesCustom',
      'SubmitVatRatesResponse' => 'Eurostop\\Organisation\\SubmitVatRatesResponseCustom',
      'GetSaleReasons' => 'Eurostop\\Organisation\\GetSaleReasonsCustom',
      'GetSaleReasonsResponse' => 'Eurostop\\Organisation\\GetSaleReasonsResponseCustom',
      'GetRefundReasons' => 'Eurostop\\Organisation\\GetRefundReasonsCustom',
      'GetRefundReasonsResponse' => 'Eurostop\\Organisation\\GetRefundReasonsResponseCustom',
      'GetPriceModifierReasons' => 'Eurostop\\Organisation\\GetPriceModifierReasonsCustom',
      'GetPriceModifierReasonsResponse' => 'Eurostop\\Organisation\\GetPriceModifierReasonsResponseCustom',
      'GetTransferReasons' => 'Eurostop\\Organisation\\GetTransferReasonsCustom',
      'GetTransferReasonsResponse' => 'Eurostop\\Organisation\\GetTransferReasonsResponseCustom',
      'GetWriteOnOffReasons' => 'Eurostop\\Organisation\\GetWriteOnOffReasonsCustom',
      'GetWriteOnOffReasonsResponse' => 'Eurostop\\Organisation\\GetWriteOnOffReasonsResponseCustom',
      'FlagDataProcessingToRetryByReference' => 'Eurostop\\Organisation\\FlagDataProcessingToRetryByReferenceCustom',
      'FlagDataProcessingToRetryByReferenceResponse' => 'Eurostop\\Organisation\\FlagDataProcessingToRetryByReferenceResponseCustom',
      'FlagDataProcessingToRetryByToken' => 'Eurostop\\Organisation\\FlagDataProcessingToRetryByTokenCustom',
      'FlagDataProcessingToRetryByTokenResponse' => 'Eurostop\\Organisation\\FlagDataProcessingToRetryByTokenResponseCustom',
      'RunDataProcessingByReference' => 'Eurostop\\Organisation\\RunDataProcessingByReferenceCustom',
      'RunDataProcessingByReferenceResponse' => 'Eurostop\\Organisation\\RunDataProcessingByReferenceResponseCustom',
      'RunDataProcessingByToken' => 'Eurostop\\Organisation\\RunDataProcessingByTokenCustom',
      'RunDataProcessingByTokenResponse' => 'Eurostop\\Organisation\\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/organisation?wsdl';
      }
      parent::__construct($wsdl, $options);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * @param GetWriteOnOffReasonsCustom $parameters
     * @return GetWriteOnOffReasonsResponse
     */
    public function GetWriteOnOffReasons($parameters)
    {
      return $this->__soapCall('GetWriteOnOffReasons', 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));
    }

}
