<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for InstallmentSearchBasic StructType
 * @subpackage Structs
 */
class InstallmentSearchBasic extends SearchRecordBasic
{
    /**
     * The amount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $amount;
    /**
     * The amountPaid
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $amountPaid;
    /**
     * The amountRemaining
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $amountRemaining;
    /**
     * The daysOverdue
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $daysOverdue;
    /**
     * The dueDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $dueDate;
    /**
     * The fxAmount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $fxAmount;
    /**
     * The fxAmountPaid
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $fxAmountPaid;
    /**
     * The fxAmountRemaining
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $fxAmountRemaining;
    /**
     * The installmentNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $installmentNumber;
    /**
     * The customFieldList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchCustomFieldList
     */
    public $customFieldList;
    /**
     * Constructor method for InstallmentSearchBasic
     * @uses InstallmentSearchBasic::setAmount()
     * @uses InstallmentSearchBasic::setAmountPaid()
     * @uses InstallmentSearchBasic::setAmountRemaining()
     * @uses InstallmentSearchBasic::setDaysOverdue()
     * @uses InstallmentSearchBasic::setDueDate()
     * @uses InstallmentSearchBasic::setFxAmount()
     * @uses InstallmentSearchBasic::setFxAmountPaid()
     * @uses InstallmentSearchBasic::setFxAmountRemaining()
     * @uses InstallmentSearchBasic::setInstallmentNumber()
     * @uses InstallmentSearchBasic::setCustomFieldList()
     * @param \StructType\SearchDoubleField $amount
     * @param \StructType\SearchDoubleField $amountPaid
     * @param \StructType\SearchDoubleField $amountRemaining
     * @param \StructType\SearchLongField $daysOverdue
     * @param \StructType\SearchDateField $dueDate
     * @param \StructType\SearchDoubleField $fxAmount
     * @param \StructType\SearchDoubleField $fxAmountPaid
     * @param \StructType\SearchDoubleField $fxAmountRemaining
     * @param \StructType\SearchLongField $installmentNumber
     * @param \StructType\SearchCustomFieldList $customFieldList
     */
    public function __construct(\StructType\SearchDoubleField $amount = null, \StructType\SearchDoubleField $amountPaid = null, \StructType\SearchDoubleField $amountRemaining = null, \StructType\SearchLongField $daysOverdue = null, \StructType\SearchDateField $dueDate = null, \StructType\SearchDoubleField $fxAmount = null, \StructType\SearchDoubleField $fxAmountPaid = null, \StructType\SearchDoubleField $fxAmountRemaining = null, \StructType\SearchLongField $installmentNumber = null, \StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this
            ->setAmount($amount)
            ->setAmountPaid($amountPaid)
            ->setAmountRemaining($amountRemaining)
            ->setDaysOverdue($daysOverdue)
            ->setDueDate($dueDate)
            ->setFxAmount($fxAmount)
            ->setFxAmountPaid($fxAmountPaid)
            ->setFxAmountRemaining($fxAmountRemaining)
            ->setInstallmentNumber($installmentNumber)
            ->setCustomFieldList($customFieldList);
    }
    /**
     * Get amount value
     * @return \StructType\SearchDoubleField|null
     */
    public function getAmount()
    {
        return $this->amount;
    }
    /**
     * Set amount value
     * @param \StructType\SearchDoubleField $amount
     * @return \StructType\InstallmentSearchBasic
     */
    public function setAmount(\StructType\SearchDoubleField $amount = null)
    {
        $this->amount = $amount;
        return $this;
    }
    /**
     * Get amountPaid value
     * @return \StructType\SearchDoubleField|null
     */
    public function getAmountPaid()
    {
        return $this->amountPaid;
    }
    /**
     * Set amountPaid value
     * @param \StructType\SearchDoubleField $amountPaid
     * @return \StructType\InstallmentSearchBasic
     */
    public function setAmountPaid(\StructType\SearchDoubleField $amountPaid = null)
    {
        $this->amountPaid = $amountPaid;
        return $this;
    }
    /**
     * Get amountRemaining value
     * @return \StructType\SearchDoubleField|null
     */
    public function getAmountRemaining()
    {
        return $this->amountRemaining;
    }
    /**
     * Set amountRemaining value
     * @param \StructType\SearchDoubleField $amountRemaining
     * @return \StructType\InstallmentSearchBasic
     */
    public function setAmountRemaining(\StructType\SearchDoubleField $amountRemaining = null)
    {
        $this->amountRemaining = $amountRemaining;
        return $this;
    }
    /**
     * Get daysOverdue value
     * @return \StructType\SearchLongField|null
     */
    public function getDaysOverdue()
    {
        return $this->daysOverdue;
    }
    /**
     * Set daysOverdue value
     * @param \StructType\SearchLongField $daysOverdue
     * @return \StructType\InstallmentSearchBasic
     */
    public function setDaysOverdue(\StructType\SearchLongField $daysOverdue = null)
    {
        $this->daysOverdue = $daysOverdue;
        return $this;
    }
    /**
     * Get dueDate value
     * @return \StructType\SearchDateField|null
     */
    public function getDueDate()
    {
        return $this->dueDate;
    }
    /**
     * Set dueDate value
     * @param \StructType\SearchDateField $dueDate
     * @return \StructType\InstallmentSearchBasic
     */
    public function setDueDate(\StructType\SearchDateField $dueDate = null)
    {
        $this->dueDate = $dueDate;
        return $this;
    }
    /**
     * Get fxAmount value
     * @return \StructType\SearchDoubleField|null
     */
    public function getFxAmount()
    {
        return $this->fxAmount;
    }
    /**
     * Set fxAmount value
     * @param \StructType\SearchDoubleField $fxAmount
     * @return \StructType\InstallmentSearchBasic
     */
    public function setFxAmount(\StructType\SearchDoubleField $fxAmount = null)
    {
        $this->fxAmount = $fxAmount;
        return $this;
    }
    /**
     * Get fxAmountPaid value
     * @return \StructType\SearchDoubleField|null
     */
    public function getFxAmountPaid()
    {
        return $this->fxAmountPaid;
    }
    /**
     * Set fxAmountPaid value
     * @param \StructType\SearchDoubleField $fxAmountPaid
     * @return \StructType\InstallmentSearchBasic
     */
    public function setFxAmountPaid(\StructType\SearchDoubleField $fxAmountPaid = null)
    {
        $this->fxAmountPaid = $fxAmountPaid;
        return $this;
    }
    /**
     * Get fxAmountRemaining value
     * @return \StructType\SearchDoubleField|null
     */
    public function getFxAmountRemaining()
    {
        return $this->fxAmountRemaining;
    }
    /**
     * Set fxAmountRemaining value
     * @param \StructType\SearchDoubleField $fxAmountRemaining
     * @return \StructType\InstallmentSearchBasic
     */
    public function setFxAmountRemaining(\StructType\SearchDoubleField $fxAmountRemaining = null)
    {
        $this->fxAmountRemaining = $fxAmountRemaining;
        return $this;
    }
    /**
     * Get installmentNumber value
     * @return \StructType\SearchLongField|null
     */
    public function getInstallmentNumber()
    {
        return $this->installmentNumber;
    }
    /**
     * Set installmentNumber value
     * @param \StructType\SearchLongField $installmentNumber
     * @return \StructType\InstallmentSearchBasic
     */
    public function setInstallmentNumber(\StructType\SearchLongField $installmentNumber = null)
    {
        $this->installmentNumber = $installmentNumber;
        return $this;
    }
    /**
     * Get customFieldList value
     * @return \StructType\SearchCustomFieldList|null
     */
    public function getCustomFieldList()
    {
        return $this->customFieldList;
    }
    /**
     * Set customFieldList value
     * @param \StructType\SearchCustomFieldList $customFieldList
     * @return \StructType\InstallmentSearchBasic
     */
    public function setCustomFieldList(\StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this->customFieldList = $customFieldList;
        return $this;
    }
}
