<?php

namespace patest\EnumType;

use \WsdlToPhp\PackageBase\AbstractStructEnumBase;

/**
 * This class stands for TransactionProperties EnumType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:TransactionProperties
 * @subpackage Enumerations
 */
class TransactionProperties extends AbstractStructEnumBase
{
    /**
     * Constant for value 'InteractionChannel'
     * @return string 'InteractionChannel'
     */
    const VALUE_INTERACTION_CHANNEL = 'InteractionChannel';
    /**
     * Constant for value 'Client'
     * @return string 'Client'
     */
    const VALUE_CLIENT = 'Client';
    /**
     * Constant for value 'ExtraInfo'
     * @return string 'ExtraInfo'
     */
    const VALUE_EXTRA_INFO = 'ExtraInfo';
    /**
     * Constant for value 'UseUnpublishedRules'
     * @return string 'UseUnpublishedRules'
     */
    const VALUE_USE_UNPUBLISHED_RULES = 'UseUnpublishedRules';
    /**
     * Constant for value 'SaleMode'
     * @return string 'SaleMode'
     */
    const VALUE_SALE_MODE = 'SaleMode';
    /**
     * Constant for value 'AgencyAccount'
     * @return string 'AgencyAccount'
     */
    const VALUE_AGENCY_ACCOUNT = 'AgencyAccount';
    /**
     * Constant for value 'AgencyContactPerson'
     * @return string 'AgencyContactPerson'
     */
    const VALUE_AGENCY_CONTACT_PERSON = 'AgencyContactPerson';
    /**
     * Constant for value 'AccountContactPerson'
     * @return string 'AccountContactPerson'
     */
    const VALUE_ACCOUNT_CONTACT_PERSON = 'AccountContactPerson';
    /**
     * Constant for value 'ForeignId'
     * @return string 'ForeignId'
     */
    const VALUE_FOREIGN_ID = 'ForeignId';
    /**
     * Return allowed values
     * @uses self::VALUE_INTERACTION_CHANNEL
     * @uses self::VALUE_CLIENT
     * @uses self::VALUE_EXTRA_INFO
     * @uses self::VALUE_USE_UNPUBLISHED_RULES
     * @uses self::VALUE_SALE_MODE
     * @uses self::VALUE_AGENCY_ACCOUNT
     * @uses self::VALUE_AGENCY_CONTACT_PERSON
     * @uses self::VALUE_ACCOUNT_CONTACT_PERSON
     * @uses self::VALUE_FOREIGN_ID
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_INTERACTION_CHANNEL,
            self::VALUE_CLIENT,
            self::VALUE_EXTRA_INFO,
            self::VALUE_USE_UNPUBLISHED_RULES,
            self::VALUE_SALE_MODE,
            self::VALUE_AGENCY_ACCOUNT,
            self::VALUE_AGENCY_CONTACT_PERSON,
            self::VALUE_ACCOUNT_CONTACT_PERSON,
            self::VALUE_FOREIGN_ID,
        );
    }
}
