<?php

namespace patest\EnumType;

use \WsdlToPhp\PackageBase\AbstractStructEnumBase;

/**
 * This class stands for ExchangeOutState EnumType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:ExchangeOutState
 * @subpackage Enumerations
 */
class ExchangeOutState extends AbstractStructEnumBase
{
    /**
     * Constant for value 'EligibleForExchangeOut'
     * @return string 'EligibleForExchangeOut'
     */
    const VALUE_ELIGIBLE_FOR_EXCHANGE_OUT = 'EligibleForExchangeOut';
    /**
     * Constant for value 'IneligibleExchangeOutClientType'
     * @return string 'IneligibleExchangeOutClientType'
     */
    const VALUE_INELIGIBLE_EXCHANGE_OUT_CLIENT_TYPE = 'IneligibleExchangeOutClientType';
    /**
     * Constant for value 'IneligibleExchangeOutPriceType'
     * @return string 'IneligibleExchangeOutPriceType'
     */
    const VALUE_INELIGIBLE_EXCHANGE_OUT_PRICE_TYPE = 'IneligibleExchangeOutPriceType';
    /**
     * Constant for value 'IneligibleExchangeOutDateRange'
     * @return string 'IneligibleExchangeOutDateRange'
     */
    const VALUE_INELIGIBLE_EXCHANGE_OUT_DATE_RANGE = 'IneligibleExchangeOutDateRange';
    /**
     * Constant for value 'IneligibleExchangeOutPriceLevel'
     * @return string 'IneligibleExchangeOutPriceLevel'
     */
    const VALUE_INELIGIBLE_EXCHANGE_OUT_PRICE_LEVEL = 'IneligibleExchangeOutPriceLevel';
    /**
     * Constant for value 'ExchangeOutNotAllowedForEvent'
     * @return string 'ExchangeOutNotAllowedForEvent'
     */
    const VALUE_EXCHANGE_OUT_NOT_ALLOWED_FOR_EVENT = 'ExchangeOutNotAllowedForEvent';
    /**
     * Constant for value 'IneligibleExchangeOutNoDefinedRestrictions'
     * @return string 'IneligibleExchangeOutNoDefinedRestrictions'
     */
    const VALUE_INELIGIBLE_EXCHANGE_OUT_NO_DEFINED_RESTRICTIONS = 'IneligibleExchangeOutNoDefinedRestrictions';
    /**
     * Return allowed values
     * @uses self::VALUE_ELIGIBLE_FOR_EXCHANGE_OUT
     * @uses self::VALUE_INELIGIBLE_EXCHANGE_OUT_CLIENT_TYPE
     * @uses self::VALUE_INELIGIBLE_EXCHANGE_OUT_PRICE_TYPE
     * @uses self::VALUE_INELIGIBLE_EXCHANGE_OUT_DATE_RANGE
     * @uses self::VALUE_INELIGIBLE_EXCHANGE_OUT_PRICE_LEVEL
     * @uses self::VALUE_EXCHANGE_OUT_NOT_ALLOWED_FOR_EVENT
     * @uses self::VALUE_INELIGIBLE_EXCHANGE_OUT_NO_DEFINED_RESTRICTIONS
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_ELIGIBLE_FOR_EXCHANGE_OUT,
            self::VALUE_INELIGIBLE_EXCHANGE_OUT_CLIENT_TYPE,
            self::VALUE_INELIGIBLE_EXCHANGE_OUT_PRICE_TYPE,
            self::VALUE_INELIGIBLE_EXCHANGE_OUT_DATE_RANGE,
            self::VALUE_INELIGIBLE_EXCHANGE_OUT_PRICE_LEVEL,
            self::VALUE_EXCHANGE_OUT_NOT_ALLOWED_FOR_EVENT,
            self::VALUE_INELIGIBLE_EXCHANGE_OUT_NO_DEFINED_RESTRICTIONS,
        );
    }
}
