<?php

namespace patest\EnumType;

use \WsdlToPhp\PackageBase\AbstractStructEnumBase;

/**
 * This class stands for AccountingDocumentType EnumType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:AccountingDocumentType
 * @subpackage Enumerations
 */
class AccountingDocumentType extends AbstractStructEnumBase
{
    /**
     * Constant for value 'BillInvoice'
     * @return string 'BillInvoice'
     */
    const VALUE_BILL_INVOICE = 'BillInvoice';
    /**
     * Constant for value 'CreditNote'
     * @return string 'CreditNote'
     */
    const VALUE_CREDIT_NOTE = 'CreditNote';
    /**
     * Constant for value 'DeliveryNote'
     * @return string 'DeliveryNote'
     */
    const VALUE_DELIVERY_NOTE = 'DeliveryNote';
    /**
     * Constant for value 'Invoice'
     * @return string 'Invoice'
     */
    const VALUE_INVOICE = 'Invoice';
    /**
     * Constant for value 'ReturnDeliveryNote'
     * @return string 'ReturnDeliveryNote'
     */
    const VALUE_RETURN_DELIVERY_NOTE = 'ReturnDeliveryNote';
    /**
     * Constant for value 'ProformaInvoice'
     * @return string 'ProformaInvoice'
     */
    const VALUE_PROFORMA_INVOICE = 'ProformaInvoice';
    /**
     * Return allowed values
     * @uses self::VALUE_BILL_INVOICE
     * @uses self::VALUE_CREDIT_NOTE
     * @uses self::VALUE_DELIVERY_NOTE
     * @uses self::VALUE_INVOICE
     * @uses self::VALUE_RETURN_DELIVERY_NOTE
     * @uses self::VALUE_PROFORMA_INVOICE
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_BILL_INVOICE,
            self::VALUE_CREDIT_NOTE,
            self::VALUE_DELIVERY_NOTE,
            self::VALUE_INVOICE,
            self::VALUE_RETURN_DELIVERY_NOTE,
            self::VALUE_PROFORMA_INVOICE,
        );
    }
}
