<?php

namespace patest\EnumType;

use \WsdlToPhp\PackageBase\AbstractStructEnumBase;

/**
 * This class stands for LoyaltyPointsAction EnumType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:LoyaltyPointsAction
 * @subpackage Enumerations
 */
class LoyaltyPointsAction extends AbstractStructEnumBase
{
    /**
     * Constant for value 'Grant'
     * @return string 'Grant'
     */
    const VALUE_GRANT = 'Grant';
    /**
     * Constant for value 'Return'
     * @return string 'Return'
     */
    const VALUE_RETURN = 'Return';
    /**
     * Constant for value 'ManualGrant'
     * @return string 'ManualGrant'
     */
    const VALUE_MANUAL_GRANT = 'ManualGrant';
    /**
     * Constant for value 'ManualRemove'
     * @return string 'ManualRemove'
     */
    const VALUE_MANUAL_REMOVE = 'ManualRemove';
    /**
     * Constant for value 'Utilize'
     * @return string 'Utilize'
     */
    const VALUE_UTILIZE = 'Utilize';
    /**
     * Constant for value 'Expire'
     * @return string 'Expire'
     */
    const VALUE_EXPIRE = 'Expire';
    /**
     * Constant for value 'UtilizationCancelled'
     * @return string 'UtilizationCancelled'
     */
    const VALUE_UTILIZATION_CANCELLED = 'UtilizationCancelled';
    /**
     * Constant for value 'MergeClient'
     * @return string 'MergeClient'
     */
    const VALUE_MERGE_CLIENT = 'MergeClient';
    /**
     * Constant for value 'UnsyncedRefund'
     * @return string 'UnsyncedRefund'
     */
    const VALUE_UNSYNCED_REFUND = 'UnsyncedRefund';
    /**
     * Return allowed values
     * @uses self::VALUE_GRANT
     * @uses self::VALUE_RETURN
     * @uses self::VALUE_MANUAL_GRANT
     * @uses self::VALUE_MANUAL_REMOVE
     * @uses self::VALUE_UTILIZE
     * @uses self::VALUE_EXPIRE
     * @uses self::VALUE_UTILIZATION_CANCELLED
     * @uses self::VALUE_MERGE_CLIENT
     * @uses self::VALUE_UNSYNCED_REFUND
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_GRANT,
            self::VALUE_RETURN,
            self::VALUE_MANUAL_GRANT,
            self::VALUE_MANUAL_REMOVE,
            self::VALUE_UTILIZE,
            self::VALUE_EXPIRE,
            self::VALUE_UTILIZATION_CANCELLED,
            self::VALUE_MERGE_CLIENT,
            self::VALUE_UNSYNCED_REFUND,
        );
    }
}
