<?php

namespace EnumType;

/**
 * This class stands for DayTypeEnumeration EnumType
 * Meta informations extracted from the WSDL
 * - documentation: Values for Day Type TPEG pti_table 34
 * @subpackage Enumerations
 */
class DayTypeEnumeration
{
    /**
     * Constant for value 'pti34_0'
     * @return string 'pti34_0'
     */
    const VALUE_PTI_34_0 = 'pti34_0';
    /**
     * Constant for value 'unknown'
     * @return string 'unknown'
     */
    const VALUE_UNKNOWN = 'unknown';
    /**
     * Constant for value 'pti34_1'
     * @return string 'pti34_1'
     */
    const VALUE_PTI_34_1 = 'pti34_1';
    /**
     * Constant for value 'monday'
     * @return string 'monday'
     */
    const VALUE_MONDAY = 'monday';
    /**
     * Constant for value 'pti34_2'
     * @return string 'pti34_2'
     */
    const VALUE_PTI_34_2 = 'pti34_2';
    /**
     * Constant for value 'tuesday'
     * @return string 'tuesday'
     */
    const VALUE_TUESDAY = 'tuesday';
    /**
     * Constant for value 'pti34_3'
     * @return string 'pti34_3'
     */
    const VALUE_PTI_34_3 = 'pti34_3';
    /**
     * Constant for value 'wednesday'
     * @return string 'wednesday'
     */
    const VALUE_WEDNESDAY = 'wednesday';
    /**
     * Constant for value 'pti34_4'
     * @return string 'pti34_4'
     */
    const VALUE_PTI_34_4 = 'pti34_4';
    /**
     * Constant for value 'thursday'
     * @return string 'thursday'
     */
    const VALUE_THURSDAY = 'thursday';
    /**
     * Constant for value 'pti34_5'
     * @return string 'pti34_5'
     */
    const VALUE_PTI_34_5 = 'pti34_5';
    /**
     * Constant for value 'friday'
     * @return string 'friday'
     */
    const VALUE_FRIDAY = 'friday';
    /**
     * Constant for value 'pti34_6'
     * @return string 'pti34_6'
     */
    const VALUE_PTI_34_6 = 'pti34_6';
    /**
     * Constant for value 'saturday'
     * @return string 'saturday'
     */
    const VALUE_SATURDAY = 'saturday';
    /**
     * Constant for value 'pti34_7'
     * @return string 'pti34_7'
     */
    const VALUE_PTI_34_7 = 'pti34_7';
    /**
     * Constant for value 'sunday'
     * @return string 'sunday'
     */
    const VALUE_SUNDAY = 'sunday';
    /**
     * Constant for value 'pti34_8'
     * @return string 'pti34_8'
     */
    const VALUE_PTI_34_8 = 'pti34_8';
    /**
     * Constant for value 'weekdays'
     * @return string 'weekdays'
     */
    const VALUE_WEEKDAYS = 'weekdays';
    /**
     * Constant for value 'pti34_9'
     * @return string 'pti34_9'
     */
    const VALUE_PTI_34_9 = 'pti34_9';
    /**
     * Constant for value 'weekends'
     * @return string 'weekends'
     */
    const VALUE_WEEKENDS = 'weekends';
    /**
     * Constant for value 'pti34_10'
     * @return string 'pti34_10'
     */
    const VALUE_PTI_34_10 = 'pti34_10';
    /**
     * Constant for value 'holiday'
     * @return string 'holiday'
     */
    const VALUE_HOLIDAY = 'holiday';
    /**
     * Constant for value 'pti34_11'
     * @return string 'pti34_11'
     */
    const VALUE_PTI_34_11 = 'pti34_11';
    /**
     * Constant for value 'publicHoliday'
     * @return string 'publicHoliday'
     */
    const VALUE_PUBLIC_HOLIDAY = 'publicHoliday';
    /**
     * Constant for value 'pti34_12'
     * @return string 'pti34_12'
     */
    const VALUE_PTI_34_12 = 'pti34_12';
    /**
     * Constant for value 'religiousHoliday'
     * @return string 'religiousHoliday'
     */
    const VALUE_RELIGIOUS_HOLIDAY = 'religiousHoliday';
    /**
     * Constant for value 'pti34_13'
     * @return string 'pti34_13'
     */
    const VALUE_PTI_34_13 = 'pti34_13';
    /**
     * Constant for value 'federalHoliday'
     * @return string 'federalHoliday'
     */
    const VALUE_FEDERAL_HOLIDAY = 'federalHoliday';
    /**
     * Constant for value 'pti34_14'
     * @return string 'pti34_14'
     */
    const VALUE_PTI_34_14 = 'pti34_14';
    /**
     * Constant for value 'regionalHoliday'
     * @return string 'regionalHoliday'
     */
    const VALUE_REGIONAL_HOLIDAY = 'regionalHoliday';
    /**
     * Constant for value 'pti34_15'
     * @return string 'pti34_15'
     */
    const VALUE_PTI_34_15 = 'pti34_15';
    /**
     * Constant for value 'nationalHoliday'
     * @return string 'nationalHoliday'
     */
    const VALUE_NATIONAL_HOLIDAY = 'nationalHoliday';
    /**
     * Constant for value 'pti34_16'
     * @return string 'pti34_16'
     */
    const VALUE_PTI_34_16 = 'pti34_16';
    /**
     * Constant for value 'mondayToFriday'
     * @return string 'mondayToFriday'
     */
    const VALUE_MONDAY_TO_FRIDAY = 'mondayToFriday';
    /**
     * Constant for value 'pti34_17'
     * @return string 'pti34_17'
     */
    const VALUE_PTI_34_17 = 'pti34_17';
    /**
     * Constant for value 'mondayToSaturday'
     * @return string 'mondayToSaturday'
     */
    const VALUE_MONDAY_TO_SATURDAY = 'mondayToSaturday';
    /**
     * Constant for value 'pti34_18'
     * @return string 'pti34_18'
     */
    const VALUE_PTI_34_18 = 'pti34_18';
    /**
     * Constant for value 'sundaysAndPublicHolidays'
     * @return string 'sundaysAndPublicHolidays'
     */
    const VALUE_SUNDAYS_AND_PUBLIC_HOLIDAYS = 'sundaysAndPublicHolidays';
    /**
     * Constant for value 'pti34_19'
     * @return string 'pti34_19'
     */
    const VALUE_PTI_34_19 = 'pti34_19';
    /**
     * Constant for value 'schoolDays'
     * @return string 'schoolDays'
     */
    const VALUE_SCHOOL_DAYS = 'schoolDays';
    /**
     * Constant for value 'pti34_20'
     * @return string 'pti34_20'
     */
    const VALUE_PTI_34_20 = 'pti34_20';
    /**
     * Constant for value 'everyDay'
     * @return string 'everyDay'
     */
    const VALUE_EVERY_DAY = 'everyDay';
    /**
     * Constant for value 'pti34_255'
     * @return string 'pti34_255'
     */
    const VALUE_PTI_34_255 = 'pti34_255';
    /**
     * Constant for value 'undefinedDayType'
     * @return string 'undefinedDayType'
     */
    const VALUE_UNDEFINED_DAY_TYPE = 'undefinedDayType';
    /**
     * Return true if value is allowed
     * @uses self::getValidValues()
     * @param mixed $value value
     * @return bool true|false
     */
    public static function valueIsValid($value)
    {
        return ($value === null) || in_array($value, self::getValidValues(), true);
    }
    /**
     * Return allowed values
     * @uses self::VALUE_PTI_34_0
     * @uses self::VALUE_UNKNOWN
     * @uses self::VALUE_PTI_34_1
     * @uses self::VALUE_MONDAY
     * @uses self::VALUE_PTI_34_2
     * @uses self::VALUE_TUESDAY
     * @uses self::VALUE_PTI_34_3
     * @uses self::VALUE_WEDNESDAY
     * @uses self::VALUE_PTI_34_4
     * @uses self::VALUE_THURSDAY
     * @uses self::VALUE_PTI_34_5
     * @uses self::VALUE_FRIDAY
     * @uses self::VALUE_PTI_34_6
     * @uses self::VALUE_SATURDAY
     * @uses self::VALUE_PTI_34_7
     * @uses self::VALUE_SUNDAY
     * @uses self::VALUE_PTI_34_8
     * @uses self::VALUE_WEEKDAYS
     * @uses self::VALUE_PTI_34_9
     * @uses self::VALUE_WEEKENDS
     * @uses self::VALUE_PTI_34_10
     * @uses self::VALUE_HOLIDAY
     * @uses self::VALUE_PTI_34_11
     * @uses self::VALUE_PUBLIC_HOLIDAY
     * @uses self::VALUE_PTI_34_12
     * @uses self::VALUE_RELIGIOUS_HOLIDAY
     * @uses self::VALUE_PTI_34_13
     * @uses self::VALUE_FEDERAL_HOLIDAY
     * @uses self::VALUE_PTI_34_14
     * @uses self::VALUE_REGIONAL_HOLIDAY
     * @uses self::VALUE_PTI_34_15
     * @uses self::VALUE_NATIONAL_HOLIDAY
     * @uses self::VALUE_PTI_34_16
     * @uses self::VALUE_MONDAY_TO_FRIDAY
     * @uses self::VALUE_PTI_34_17
     * @uses self::VALUE_MONDAY_TO_SATURDAY
     * @uses self::VALUE_PTI_34_18
     * @uses self::VALUE_SUNDAYS_AND_PUBLIC_HOLIDAYS
     * @uses self::VALUE_PTI_34_19
     * @uses self::VALUE_SCHOOL_DAYS
     * @uses self::VALUE_PTI_34_20
     * @uses self::VALUE_EVERY_DAY
     * @uses self::VALUE_PTI_34_255
     * @uses self::VALUE_UNDEFINED_DAY_TYPE
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_PTI_34_0,
            self::VALUE_UNKNOWN,
            self::VALUE_PTI_34_1,
            self::VALUE_MONDAY,
            self::VALUE_PTI_34_2,
            self::VALUE_TUESDAY,
            self::VALUE_PTI_34_3,
            self::VALUE_WEDNESDAY,
            self::VALUE_PTI_34_4,
            self::VALUE_THURSDAY,
            self::VALUE_PTI_34_5,
            self::VALUE_FRIDAY,
            self::VALUE_PTI_34_6,
            self::VALUE_SATURDAY,
            self::VALUE_PTI_34_7,
            self::VALUE_SUNDAY,
            self::VALUE_PTI_34_8,
            self::VALUE_WEEKDAYS,
            self::VALUE_PTI_34_9,
            self::VALUE_WEEKENDS,
            self::VALUE_PTI_34_10,
            self::VALUE_HOLIDAY,
            self::VALUE_PTI_34_11,
            self::VALUE_PUBLIC_HOLIDAY,
            self::VALUE_PTI_34_12,
            self::VALUE_RELIGIOUS_HOLIDAY,
            self::VALUE_PTI_34_13,
            self::VALUE_FEDERAL_HOLIDAY,
            self::VALUE_PTI_34_14,
            self::VALUE_REGIONAL_HOLIDAY,
            self::VALUE_PTI_34_15,
            self::VALUE_NATIONAL_HOLIDAY,
            self::VALUE_PTI_34_16,
            self::VALUE_MONDAY_TO_FRIDAY,
            self::VALUE_PTI_34_17,
            self::VALUE_MONDAY_TO_SATURDAY,
            self::VALUE_PTI_34_18,
            self::VALUE_SUNDAYS_AND_PUBLIC_HOLIDAYS,
            self::VALUE_PTI_34_19,
            self::VALUE_SCHOOL_DAYS,
            self::VALUE_PTI_34_20,
            self::VALUE_EVERY_DAY,
            self::VALUE_PTI_34_255,
            self::VALUE_UNDEFINED_DAY_TYPE,
        );
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
