<?php

namespace patest\EnumType;

use \WsdlToPhp\PackageBase\AbstractStructEnumBase;

/**
 * This class stands for ActionDateTypes EnumType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:ActionDateTypes
 * @subpackage Enumerations
 */
class ActionDateTypes extends AbstractStructEnumBase
{
    /**
     * Constant for value 'BeforeEventStarts'
     * @return string 'BeforeEventStarts'
     */
    const VALUE_BEFORE_EVENT_STARTS = 'BeforeEventStarts';
    /**
     * Constant for value 'AfterEventStarts'
     * @return string 'AfterEventStarts'
     */
    const VALUE_AFTER_EVENT_STARTS = 'AfterEventStarts';
    /**
     * Constant for value 'BeforeEventEnds'
     * @return string 'BeforeEventEnds'
     */
    const VALUE_BEFORE_EVENT_ENDS = 'BeforeEventEnds';
    /**
     * Constant for value 'AfterEventEnds'
     * @return string 'AfterEventEnds'
     */
    const VALUE_AFTER_EVENT_ENDS = 'AfterEventEnds';
    /**
     * Constant for value 'SpecifiedTime'
     * @return string 'SpecifiedTime'
     */
    const VALUE_SPECIFIED_TIME = 'SpecifiedTime';
    /**
     * Constant for value 'AfterTransaction'
     * @return string 'AfterTransaction'
     */
    const VALUE_AFTER_TRANSACTION = 'AfterTransaction';
    /**
     * Constant for value 'Never'
     * @return string 'Never'
     */
    const VALUE_NEVER = 'Never';
    /**
     * Constant for value 'SpecificTimeDaysBeforeEvent'
     * @return string 'SpecificTimeDaysBeforeEvent'
     */
    const VALUE_SPECIFIC_TIME_DAYS_BEFORE_EVENT = 'SpecificTimeDaysBeforeEvent';
    /**
     * Constant for value 'SpecificTimeDaysAfterEvent'
     * @return string 'SpecificTimeDaysAfterEvent'
     */
    const VALUE_SPECIFIC_TIME_DAYS_AFTER_EVENT = 'SpecificTimeDaysAfterEvent';
    /**
     * Return allowed values
     * @uses self::VALUE_BEFORE_EVENT_STARTS
     * @uses self::VALUE_AFTER_EVENT_STARTS
     * @uses self::VALUE_BEFORE_EVENT_ENDS
     * @uses self::VALUE_AFTER_EVENT_ENDS
     * @uses self::VALUE_SPECIFIED_TIME
     * @uses self::VALUE_AFTER_TRANSACTION
     * @uses self::VALUE_NEVER
     * @uses self::VALUE_SPECIFIC_TIME_DAYS_BEFORE_EVENT
     * @uses self::VALUE_SPECIFIC_TIME_DAYS_AFTER_EVENT
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_BEFORE_EVENT_STARTS,
            self::VALUE_AFTER_EVENT_STARTS,
            self::VALUE_BEFORE_EVENT_ENDS,
            self::VALUE_AFTER_EVENT_ENDS,
            self::VALUE_SPECIFIED_TIME,
            self::VALUE_AFTER_TRANSACTION,
            self::VALUE_NEVER,
            self::VALUE_SPECIFIC_TIME_DAYS_BEFORE_EVENT,
            self::VALUE_SPECIFIC_TIME_DAYS_AFTER_EVENT,
        );
    }
}
