<?php

namespace patest\EnumType;

use \WsdlToPhp\PackageBase\AbstractStructEnumBase;

/**
 * This class stands for SubscriberPreservedSeatStatus EnumType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:SubscriberPreservedSeatStatus
 * @subpackage Enumerations
 */
class SubscriberPreservedSeatStatus extends AbstractStructEnumBase
{
    /**
     * Constant for value 'Available'
     * @return string 'Available'
     */
    const VALUE_AVAILABLE = 'Available';
    /**
     * Constant for value 'NotForSaleYet'
     * @return string 'NotForSaleYet'
     */
    const VALUE_NOT_FOR_SALE_YET = 'NotForSaleYet';
    /**
     * Constant for value 'TakenBySubscriber'
     * @return string 'TakenBySubscriber'
     */
    const VALUE_TAKEN_BY_SUBSCRIBER = 'TakenBySubscriber';
    /**
     * Constant for value 'UnavailableOccupied'
     * @return string 'UnavailableOccupied'
     */
    const VALUE_UNAVAILABLE_OCCUPIED = 'UnavailableOccupied';
    /**
     * Constant for value 'UnavailableSeatDoesNotExist'
     * @return string 'UnavailableSeatDoesNotExist'
     */
    const VALUE_UNAVAILABLE_SEAT_DOES_NOT_EXIST = 'UnavailableSeatDoesNotExist';
    /**
     * Constant for value 'UnavailableInProcess'
     * @return string 'UnavailableInProcess'
     */
    const VALUE_UNAVAILABLE_IN_PROCESS = 'UnavailableInProcess';
    /**
     * Constant for value 'UnavailableLocked'
     * @return string 'UnavailableLocked'
     */
    const VALUE_UNAVAILABLE_LOCKED = 'UnavailableLocked';
    /**
     * Constant for value 'UnavailableReleased'
     * @return string 'UnavailableReleased'
     */
    const VALUE_UNAVAILABLE_RELEASED = 'UnavailableReleased';
    /**
     * Return allowed values
     * @uses self::VALUE_AVAILABLE
     * @uses self::VALUE_NOT_FOR_SALE_YET
     * @uses self::VALUE_TAKEN_BY_SUBSCRIBER
     * @uses self::VALUE_UNAVAILABLE_OCCUPIED
     * @uses self::VALUE_UNAVAILABLE_SEAT_DOES_NOT_EXIST
     * @uses self::VALUE_UNAVAILABLE_IN_PROCESS
     * @uses self::VALUE_UNAVAILABLE_LOCKED
     * @uses self::VALUE_UNAVAILABLE_RELEASED
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_AVAILABLE,
            self::VALUE_NOT_FOR_SALE_YET,
            self::VALUE_TAKEN_BY_SUBSCRIBER,
            self::VALUE_UNAVAILABLE_OCCUPIED,
            self::VALUE_UNAVAILABLE_SEAT_DOES_NOT_EXIST,
            self::VALUE_UNAVAILABLE_IN_PROCESS,
            self::VALUE_UNAVAILABLE_LOCKED,
            self::VALUE_UNAVAILABLE_RELEASED,
        );
    }
}
