<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/ads/googleads/v9/enums/promotion_extension_occasion.proto

namespace Google\Ads\GoogleAds\V9\Enums\PromotionExtensionOccasionEnum;

use UnexpectedValueException;

/**
 * A promotion extension occasion.
 *
 * Protobuf type <code>google.ads.googleads.v9.enums.PromotionExtensionOccasionEnum.PromotionExtensionOccasion</code>
 */
class PromotionExtensionOccasion
{
    /**
     * Not specified.
     *
     * Generated from protobuf enum <code>UNSPECIFIED = 0;</code>
     */
    const UNSPECIFIED = 0;
    /**
     * Used for return value only. Represents value unknown in this version.
     *
     * Generated from protobuf enum <code>UNKNOWN = 1;</code>
     */
    const UNKNOWN = 1;
    /**
     * New Year's.
     *
     * Generated from protobuf enum <code>NEW_YEARS = 2;</code>
     */
    const NEW_YEARS = 2;
    /**
     * Chinese New Year.
     *
     * Generated from protobuf enum <code>CHINESE_NEW_YEAR = 3;</code>
     */
    const CHINESE_NEW_YEAR = 3;
    /**
     * Valentine's Day.
     *
     * Generated from protobuf enum <code>VALENTINES_DAY = 4;</code>
     */
    const VALENTINES_DAY = 4;
    /**
     * Easter.
     *
     * Generated from protobuf enum <code>EASTER = 5;</code>
     */
    const EASTER = 5;
    /**
     * Mother's Day.
     *
     * Generated from protobuf enum <code>MOTHERS_DAY = 6;</code>
     */
    const MOTHERS_DAY = 6;
    /**
     * Father's Day.
     *
     * Generated from protobuf enum <code>FATHERS_DAY = 7;</code>
     */
    const FATHERS_DAY = 7;
    /**
     * Labor Day.
     *
     * Generated from protobuf enum <code>LABOR_DAY = 8;</code>
     */
    const LABOR_DAY = 8;
    /**
     * Back To School.
     *
     * Generated from protobuf enum <code>BACK_TO_SCHOOL = 9;</code>
     */
    const BACK_TO_SCHOOL = 9;
    /**
     * Halloween.
     *
     * Generated from protobuf enum <code>HALLOWEEN = 10;</code>
     */
    const HALLOWEEN = 10;
    /**
     * Black Friday.
     *
     * Generated from protobuf enum <code>BLACK_FRIDAY = 11;</code>
     */
    const BLACK_FRIDAY = 11;
    /**
     * Cyber Monday.
     *
     * Generated from protobuf enum <code>CYBER_MONDAY = 12;</code>
     */
    const CYBER_MONDAY = 12;
    /**
     * Christmas.
     *
     * Generated from protobuf enum <code>CHRISTMAS = 13;</code>
     */
    const CHRISTMAS = 13;
    /**
     * Boxing Day.
     *
     * Generated from protobuf enum <code>BOXING_DAY = 14;</code>
     */
    const BOXING_DAY = 14;
    /**
     * Independence Day in any country.
     *
     * Generated from protobuf enum <code>INDEPENDENCE_DAY = 15;</code>
     */
    const INDEPENDENCE_DAY = 15;
    /**
     * National Day in any country.
     *
     * Generated from protobuf enum <code>NATIONAL_DAY = 16;</code>
     */
    const NATIONAL_DAY = 16;
    /**
     * End of any season.
     *
     * Generated from protobuf enum <code>END_OF_SEASON = 17;</code>
     */
    const END_OF_SEASON = 17;
    /**
     * Winter Sale.
     *
     * Generated from protobuf enum <code>WINTER_SALE = 18;</code>
     */
    const WINTER_SALE = 18;
    /**
     * Summer sale.
     *
     * Generated from protobuf enum <code>SUMMER_SALE = 19;</code>
     */
    const SUMMER_SALE = 19;
    /**
     * Fall Sale.
     *
     * Generated from protobuf enum <code>FALL_SALE = 20;</code>
     */
    const FALL_SALE = 20;
    /**
     * Spring Sale.
     *
     * Generated from protobuf enum <code>SPRING_SALE = 21;</code>
     */
    const SPRING_SALE = 21;
    /**
     * Ramadan.
     *
     * Generated from protobuf enum <code>RAMADAN = 22;</code>
     */
    const RAMADAN = 22;
    /**
     * Eid al-Fitr.
     *
     * Generated from protobuf enum <code>EID_AL_FITR = 23;</code>
     */
    const EID_AL_FITR = 23;
    /**
     * Eid al-Adha.
     *
     * Generated from protobuf enum <code>EID_AL_ADHA = 24;</code>
     */
    const EID_AL_ADHA = 24;
    /**
     * Singles Day.
     *
     * Generated from protobuf enum <code>SINGLES_DAY = 25;</code>
     */
    const SINGLES_DAY = 25;
    /**
     * Women's Day.
     *
     * Generated from protobuf enum <code>WOMENS_DAY = 26;</code>
     */
    const WOMENS_DAY = 26;
    /**
     * Holi.
     *
     * Generated from protobuf enum <code>HOLI = 27;</code>
     */
    const HOLI = 27;
    /**
     * Parent's Day.
     *
     * Generated from protobuf enum <code>PARENTS_DAY = 28;</code>
     */
    const PARENTS_DAY = 28;
    /**
     * St. Nicholas Day.
     *
     * Generated from protobuf enum <code>ST_NICHOLAS_DAY = 29;</code>
     */
    const ST_NICHOLAS_DAY = 29;
    /**
     * Carnival.
     *
     * Generated from protobuf enum <code>CARNIVAL = 30;</code>
     */
    const CARNIVAL = 30;
    /**
     * Epiphany, also known as Three Kings' Day.
     *
     * Generated from protobuf enum <code>EPIPHANY = 31;</code>
     */
    const EPIPHANY = 31;
    /**
     * Rosh Hashanah.
     *
     * Generated from protobuf enum <code>ROSH_HASHANAH = 32;</code>
     */
    const ROSH_HASHANAH = 32;
    /**
     * Passover.
     *
     * Generated from protobuf enum <code>PASSOVER = 33;</code>
     */
    const PASSOVER = 33;
    /**
     * Hanukkah.
     *
     * Generated from protobuf enum <code>HANUKKAH = 34;</code>
     */
    const HANUKKAH = 34;
    /**
     * Diwali.
     *
     * Generated from protobuf enum <code>DIWALI = 35;</code>
     */
    const DIWALI = 35;
    /**
     * Navratri.
     *
     * Generated from protobuf enum <code>NAVRATRI = 36;</code>
     */
    const NAVRATRI = 36;
    /**
     * Available in Thai: Songkran.
     *
     * Generated from protobuf enum <code>SONGKRAN = 37;</code>
     */
    const SONGKRAN = 37;
    /**
     * Available in Japanese: Year-end Gift.
     *
     * Generated from protobuf enum <code>YEAR_END_GIFT = 38;</code>
     */
    const YEAR_END_GIFT = 38;

    private static $valueToName = [
        self::UNSPECIFIED => 'UNSPECIFIED',
        self::UNKNOWN => 'UNKNOWN',
        self::NEW_YEARS => 'NEW_YEARS',
        self::CHINESE_NEW_YEAR => 'CHINESE_NEW_YEAR',
        self::VALENTINES_DAY => 'VALENTINES_DAY',
        self::EASTER => 'EASTER',
        self::MOTHERS_DAY => 'MOTHERS_DAY',
        self::FATHERS_DAY => 'FATHERS_DAY',
        self::LABOR_DAY => 'LABOR_DAY',
        self::BACK_TO_SCHOOL => 'BACK_TO_SCHOOL',
        self::HALLOWEEN => 'HALLOWEEN',
        self::BLACK_FRIDAY => 'BLACK_FRIDAY',
        self::CYBER_MONDAY => 'CYBER_MONDAY',
        self::CHRISTMAS => 'CHRISTMAS',
        self::BOXING_DAY => 'BOXING_DAY',
        self::INDEPENDENCE_DAY => 'INDEPENDENCE_DAY',
        self::NATIONAL_DAY => 'NATIONAL_DAY',
        self::END_OF_SEASON => 'END_OF_SEASON',
        self::WINTER_SALE => 'WINTER_SALE',
        self::SUMMER_SALE => 'SUMMER_SALE',
        self::FALL_SALE => 'FALL_SALE',
        self::SPRING_SALE => 'SPRING_SALE',
        self::RAMADAN => 'RAMADAN',
        self::EID_AL_FITR => 'EID_AL_FITR',
        self::EID_AL_ADHA => 'EID_AL_ADHA',
        self::SINGLES_DAY => 'SINGLES_DAY',
        self::WOMENS_DAY => 'WOMENS_DAY',
        self::HOLI => 'HOLI',
        self::PARENTS_DAY => 'PARENTS_DAY',
        self::ST_NICHOLAS_DAY => 'ST_NICHOLAS_DAY',
        self::CARNIVAL => 'CARNIVAL',
        self::EPIPHANY => 'EPIPHANY',
        self::ROSH_HASHANAH => 'ROSH_HASHANAH',
        self::PASSOVER => 'PASSOVER',
        self::HANUKKAH => 'HANUKKAH',
        self::DIWALI => 'DIWALI',
        self::NAVRATRI => 'NAVRATRI',
        self::SONGKRAN => 'SONGKRAN',
        self::YEAR_END_GIFT => 'YEAR_END_GIFT',
    ];

    public static function name($value)
    {
        if (!isset(self::$valueToName[$value])) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no name defined for value %s', __CLASS__, $value));
        }
        return self::$valueToName[$value];
    }


    public static function value($name)
    {
        $const = __CLASS__ . '::' . strtoupper($name);
        if (!defined($const)) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no value defined for name %s', __CLASS__, $name));
        }
        return constant($const);
    }
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(PromotionExtensionOccasion::class, \Google\Ads\GoogleAds\V9\Enums\PromotionExtensionOccasionEnum_PromotionExtensionOccasion::class);

