<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for GetClientBalance-Response StructType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:GetClientBalance-Response
 * @subpackage Structs
 */
class GetClientBalance_Response extends ExtensibleDataContract
{
    /**
     * The Balance
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \patest\StructType\Money
     */
    public $Balance;
    /**
     * The Credit
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \patest\StructType\Money
     */
    public $Credit;
    /**
     * The Debit
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \patest\StructType\Money
     */
    public $Debit;
    /**
     * The RefundVoucherBalance
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \patest\StructType\Money
     */
    public $RefundVoucherBalance;
    /**
     * Constructor method for GetClientBalance-Response
     * @uses GetClientBalance_Response::setBalance()
     * @uses GetClientBalance_Response::setCredit()
     * @uses GetClientBalance_Response::setDebit()
     * @uses GetClientBalance_Response::setRefundVoucherBalance()
     * @param \patest\StructType\Money $balance
     * @param \patest\StructType\Money $credit
     * @param \patest\StructType\Money $debit
     * @param \patest\StructType\Money $refundVoucherBalance
     */
    public function __construct(\patest\StructType\Money $balance = null, \patest\StructType\Money $credit = null, \patest\StructType\Money $debit = null, \patest\StructType\Money $refundVoucherBalance = null)
    {
        $this
            ->setBalance($balance)
            ->setCredit($credit)
            ->setDebit($debit)
            ->setRefundVoucherBalance($refundVoucherBalance);
    }
    /**
     * Get Balance value
     * @return \patest\StructType\Money|null
     */
    public function getBalance()
    {
        return $this->Balance;
    }
    /**
     * Set Balance value
     * @param \patest\StructType\Money $balance
     * @return \patest\StructType\GetClientBalance_Response
     */
    public function setBalance(\patest\StructType\Money $balance = null)
    {
        $this->Balance = $balance;
        return $this;
    }
    /**
     * Get Credit value
     * @return \patest\StructType\Money|null
     */
    public function getCredit()
    {
        return $this->Credit;
    }
    /**
     * Set Credit value
     * @param \patest\StructType\Money $credit
     * @return \patest\StructType\GetClientBalance_Response
     */
    public function setCredit(\patest\StructType\Money $credit = null)
    {
        $this->Credit = $credit;
        return $this;
    }
    /**
     * Get Debit value
     * @return \patest\StructType\Money|null
     */
    public function getDebit()
    {
        return $this->Debit;
    }
    /**
     * Set Debit value
     * @param \patest\StructType\Money $debit
     * @return \patest\StructType\GetClientBalance_Response
     */
    public function setDebit(\patest\StructType\Money $debit = null)
    {
        $this->Debit = $debit;
        return $this;
    }
    /**
     * Get RefundVoucherBalance value
     * @return \patest\StructType\Money|null
     */
    public function getRefundVoucherBalance()
    {
        return $this->RefundVoucherBalance;
    }
    /**
     * Set RefundVoucherBalance value
     * @param \patest\StructType\Money $refundVoucherBalance
     * @return \patest\StructType\GetClientBalance_Response
     */
    public function setRefundVoucherBalance(\patest\StructType\Money $refundVoucherBalance = null)
    {
        $this->RefundVoucherBalance = $refundVoucherBalance;
        return $this;
    }
}
