<?php

namespace patest\EnumType;

use \WsdlToPhp\PackageBase\AbstractStructEnumBase;

/**
 * This class stands for PaymentPlanInstallmentsChangeEnum EnumType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:PaymentPlanInstallmentsChangeEnum
 * @subpackage Enumerations
 */
class PaymentPlanInstallmentsChangeEnum extends AbstractStructEnumBase
{
    /**
     * Constant for value 'ChangeAmount'
     * @return string 'ChangeAmount'
     */
    const VALUE_CHANGE_AMOUNT = 'ChangeAmount';
    /**
     * Constant for value 'ChangeDate'
     * @return string 'ChangeDate'
     */
    const VALUE_CHANGE_DATE = 'ChangeDate';
    /**
     * Constant for value 'ReSchedule'
     * @return string 'ReSchedule'
     */
    const VALUE_RE_SCHEDULE = 'ReSchedule';
    /**
     * Constant for value 'ChangePaymentMethods'
     * @return string 'ChangePaymentMethods'
     */
    const VALUE_CHANGE_PAYMENT_METHODS = 'ChangePaymentMethods';
    /**
     * Constant for value 'AddInstallment'
     * @return string 'AddInstallment'
     */
    const VALUE_ADD_INSTALLMENT = 'AddInstallment';
    /**
     * Constant for value 'RemoveInstallment'
     * @return string 'RemoveInstallment'
     */
    const VALUE_REMOVE_INSTALLMENT = 'RemoveInstallment';
    /**
     * Constant for value 'ChangeNotes'
     * @return string 'ChangeNotes'
     */
    const VALUE_CHANGE_NOTES = 'ChangeNotes';
    /**
     * Constant for value 'ChangeSelectedPayment'
     * @return string 'ChangeSelectedPayment'
     */
    const VALUE_CHANGE_SELECTED_PAYMENT = 'ChangeSelectedPayment';
    /**
     * Return allowed values
     * @uses self::VALUE_CHANGE_AMOUNT
     * @uses self::VALUE_CHANGE_DATE
     * @uses self::VALUE_RE_SCHEDULE
     * @uses self::VALUE_CHANGE_PAYMENT_METHODS
     * @uses self::VALUE_ADD_INSTALLMENT
     * @uses self::VALUE_REMOVE_INSTALLMENT
     * @uses self::VALUE_CHANGE_NOTES
     * @uses self::VALUE_CHANGE_SELECTED_PAYMENT
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_CHANGE_AMOUNT,
            self::VALUE_CHANGE_DATE,
            self::VALUE_RE_SCHEDULE,
            self::VALUE_CHANGE_PAYMENT_METHODS,
            self::VALUE_ADD_INSTALLMENT,
            self::VALUE_REMOVE_INSTALLMENT,
            self::VALUE_CHANGE_NOTES,
            self::VALUE_CHANGE_SELECTED_PAYMENT,
        );
    }
}
