
package ru.bitel.bgbilling.modules.tv.dyn.seventhsky.ipb;

import jakarta.jws.WebMethod;
import jakarta.jws.WebParam;
import jakarta.jws.WebResult;
import jakarta.jws.WebService;
import javax.xml.datatype.XMLGregorianCalendar;
import jakarta.xml.ws.Holder;
import jakarta.xml.ws.RequestWrapper;
import jakarta.xml.ws.ResponseWrapper;


/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.1.6
 * Generated source version: 2.1
 * 
 */
@WebService(name = "IPB", targetNamespace = "http://www.iskratelecom.ru/IPB/")
public interface IPB {


    /**
     * 
     * @param result
     * @param resultText
     * @param customerID
     * @param customerInfo
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#addCustomer")
    @RequestWrapper(localName = "addCustomer", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.AddCustomer")
    @ResponseWrapper(localName = "genericResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GenericResponse")
    public void addCustomer(
        @WebParam(name = "customerID", targetNamespace = "")
        int customerID,
        @WebParam(name = "customerInfo", targetNamespace = "")
        CustomerInfo customerInfo,
        @WebParam(name = "result", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> result,
        @WebParam(name = "resultText", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> resultText)
        throws IPBException
    ;

    /**
     * 
     * @param result
     * @param terminalID
     * @param terminalInfo
     * @param activationID
     * @param resultText
     * @param customerID
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#addTerminal")
    @RequestWrapper(localName = "addTerminal", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.AddTerminal")
    @ResponseWrapper(localName = "addTerminalResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.AddTerminalResponse")
    public void addTerminal(
        @WebParam(name = "customerID", targetNamespace = "")
        int customerID,
        @WebParam(name = "terminalID", targetNamespace = "")
        int terminalID,
        @WebParam(name = "terminalInfo", targetNamespace = "")
        TerminalInfo terminalInfo,
        @WebParam(name = "result", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> result,
        @WebParam(name = "resultText", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> resultText,
        @WebParam(name = "activationID", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<Integer> activationID)
        throws IPBException
    ;

    /**
     * 
     * @param result
     * @param terminalID
     * @param serviceID
     * @param tariffID
     * @param resultText
     * @param customerID
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#addService")
    @RequestWrapper(localName = "addService", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.AddService")
    @ResponseWrapper(localName = "genericResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GenericResponse")
    public void addService(
        @WebParam(name = "customerID", targetNamespace = "")
        int customerID,
        @WebParam(name = "terminalID", targetNamespace = "")
        int terminalID,
        @WebParam(name = "serviceID", targetNamespace = "")
        int serviceID,
        @WebParam(name = "tariffID", targetNamespace = "")
        int tariffID,
        @WebParam(name = "result", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> result,
        @WebParam(name = "resultText", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> resultText)
        throws IPBException
    ;

    /**
     * 
     * @param result
     * @param resultText
     * @param customerID
     * @param customerInfo
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#changeCustomerInfo")
    @RequestWrapper(localName = "changeCustomerInfo", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.ChangeCustomerInfo")
    @ResponseWrapper(localName = "genericResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GenericResponse")
    public void changeCustomerInfo(
        @WebParam(name = "customerID", targetNamespace = "")
        int customerID,
        @WebParam(name = "customerInfo", targetNamespace = "")
        CustomerInfo customerInfo,
        @WebParam(name = "result", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> result,
        @WebParam(name = "resultText", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> resultText)
        throws IPBException
    ;

    /**
     * 
     * @param result
     * @param status
     * @param resultText
     * @param customerID
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#changeCustomerStatus")
    @RequestWrapper(localName = "changeCustomerStatus", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.ChangeCustomerStatus")
    @ResponseWrapper(localName = "genericResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GenericResponse")
    public void changeCustomerStatus(
        @WebParam(name = "customerID", targetNamespace = "")
        int customerID,
        @WebParam(name = "status", targetNamespace = "")
        int status,
        @WebParam(name = "result", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> result,
        @WebParam(name = "resultText", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> resultText)
        throws IPBException
    ;

    /**
     * 
     * @param result
     * @param serviceID
     * @param tariffID
     * @param resultText
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#changeServiceTariff")
    @RequestWrapper(localName = "changeServiceTariff", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.ChangeServiceTariff")
    @ResponseWrapper(localName = "genericResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GenericResponse")
    public void changeServiceTariff(
        @WebParam(name = "serviceID", targetNamespace = "")
        int serviceID,
        @WebParam(name = "tariffID", targetNamespace = "")
        int tariffID,
        @WebParam(name = "result", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> result,
        @WebParam(name = "resultText", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> resultText)
        throws IPBException
    ;

    /**
     * 
     * @param result
     * @param status
     * @param serviceID
     * @param resultText
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#changeServiceStatus")
    @RequestWrapper(localName = "changeServiceStatus", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.ChangeServiceStatus")
    @ResponseWrapper(localName = "genericResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GenericResponse")
    public void changeServiceStatus(
        @WebParam(name = "serviceID", targetNamespace = "")
        int serviceID,
        @WebParam(name = "status", targetNamespace = "")
        int status,
        @WebParam(name = "result", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> result,
        @WebParam(name = "resultText", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<String> resultText)
        throws IPBException
    ;

    /**
     * 
     * @param status
     * @param customerID
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#getCustomerStatus")
    @RequestWrapper(localName = "getCustomerStatus", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GetCustomerStatus")
    @ResponseWrapper(localName = "getCustomerStatusResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GetCustomerStatusResponse")
    public void getCustomerStatus(
        @WebParam(name = "customerID", targetNamespace = "", mode = WebParam.Mode.INOUT)
        Holder<Integer> customerID,
        @WebParam(name = "status", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<Integer> status)
        throws IPBException
    ;

    /**
     * 
     * @param terminalID
     * @param terminalInfo
     * @param customerID
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#getTerminalStatus")
    @RequestWrapper(localName = "getTerminalStatus", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GetTerminalStatus")
    @ResponseWrapper(localName = "getTerminalStatusResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GetTerminalStatusResponse")
    public void getTerminalStatus(
        @WebParam(name = "terminalID", targetNamespace = "", mode = WebParam.Mode.INOUT)
        Holder<Integer> terminalID,
        @WebParam(name = "customerID", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<Integer> customerID,
        @WebParam(name = "terminalInfo", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<TerminalInfo> terminalInfo)
        throws IPBException
    ;

    /**
     * 
     * @param terminalID
     * @param status
     * @param serviceID
     * @param tariffID
     * @param customerID
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#getServiceStatus")
    @RequestWrapper(localName = "getServiceStatus", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GetServiceStatus")
    @ResponseWrapper(localName = "getServiceStatusResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GetServiceStatusResponse")
    public void getServiceStatus(
        @WebParam(name = "serviceID", targetNamespace = "", mode = WebParam.Mode.INOUT)
        Holder<Integer> serviceID,
        @WebParam(name = "customerID", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<Integer> customerID,
        @WebParam(name = "terminalID", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<Integer> terminalID,
        @WebParam(name = "status", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<Integer> status,
        @WebParam(name = "tariffID", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<Integer> tariffID)
        throws IPBException
    ;

    /**
     * 
     * @param terminalID
     * @param freeDays
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#activateTerminal")
    @RequestWrapper(localName = "activateTerminal", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.ActivateTerminal")
    @ResponseWrapper(localName = "activateTerminalResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.ActivateTerminalResponse")
    public void activateTerminal(
        @WebParam(name = "terminalID", targetNamespace = "", mode = WebParam.Mode.INOUT)
        Holder<Integer> terminalID,
        @WebParam(name = "freeDays", targetNamespace = "", mode = WebParam.Mode.OUT)
        Holder<Integer> freeDays)
        throws IPBException
    ;

    /**
     * 
     * @param startDate
     * @param customerID
     * @return
     *     returns ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GetCustomersResponse.Customers
     * @throws IPBException
     */
    @WebMethod(action = "http://www.iskratelecom.ru/IPB/#getCustomers")
    @WebResult(name = "customers", targetNamespace = "")
    @RequestWrapper(localName = "getCustomers", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GetCustomers")
    @ResponseWrapper(localName = "getCustomersResponse", targetNamespace = "http://www.iskratelecom.ru/IPB/", className = "ru.bitel.bgbilling.modules.tv.dyn.integration.iskratelecom.IPB.GetCustomersResponse")
    public ru.bitel.bgbilling.modules.tv.dyn.seventhsky.ipb.GetCustomersResponse.Customers getCustomers(
        @WebParam(name = "customerID", targetNamespace = "")
        Integer customerID,
        @WebParam(name = "startDate", targetNamespace = "")
        XMLGregorianCalendar startDate)
        throws IPBException
    ;

}
