<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/shopping/merchant/products/v1/products_common.proto

namespace Google\Shopping\Merchant\Products\V1;

use UnexpectedValueException;

/**
 * Possible carrier where transit time is coming from.
 *
 * Protobuf type <code>google.shopping.merchant.products.v1.CarrierTransitTimeOption</code>
 */
class CarrierTransitTimeOption
{
    /**
     * Carrier transit time option is unspecified.
     *
     * Generated from protobuf enum <code>CARRIER_TRANSIT_TIME_OPTION_UNSPECIFIED = 0;</code>
     */
    const CARRIER_TRANSIT_TIME_OPTION_UNSPECIFIED = 0;
    /**
     * DHL Paket shipping service.
     *
     * Generated from protobuf enum <code>DHL_PAKET = 1;</code>
     */
    const DHL_PAKET = 1;
    /**
     * DHL Packchen shipping service.
     *
     * Generated from protobuf enum <code>DHL_PACKCHEN = 2;</code>
     */
    const DHL_PACKCHEN = 2;
    /**
     * DHL Express Easy shipping service.
     *
     * Generated from protobuf enum <code>DHL_EXPRESSEASY = 3;</code>
     */
    const DHL_EXPRESSEASY = 3;
    /**
     * DPD Express shipping service.
     *
     * Generated from protobuf enum <code>DPD_EXPRESS = 4;</code>
     */
    const DPD_EXPRESS = 4;
    /**
     * DPD Classic Parcel shipping service.
     *
     * Generated from protobuf enum <code>DPD_CLASSIC_PARCEL = 5;</code>
     */
    const DPD_CLASSIC_PARCEL = 5;
    /**
     * Hermes Haustur shipping service.
     *
     * Generated from protobuf enum <code>HERMES_HAUSTUR = 6;</code>
     */
    const HERMES_HAUSTUR = 6;
    /**
     * Hermes Paketshop shipping service.
     *
     * Generated from protobuf enum <code>HERMES_PAKETSHOP = 7;</code>
     */
    const HERMES_PAKETSHOP = 7;
    /**
     * GLS Business shipping service.
     *
     * Generated from protobuf enum <code>GLS_BUSINESS = 8;</code>
     */
    const GLS_BUSINESS = 8;
    /**
     * GLS Express shipping service.
     *
     * Generated from protobuf enum <code>GLS_EXPRESS = 9;</code>
     */
    const GLS_EXPRESS = 9;
    /**
     * GLS Private shipping service.
     *
     * Generated from protobuf enum <code>GLS_PRIVATE = 10;</code>
     */
    const GLS_PRIVATE = 10;
    /**
     * Colissimo Domicile shipping service.
     *
     * Generated from protobuf enum <code>COLISSIMO_DOMICILE = 11;</code>
     */
    const COLISSIMO_DOMICILE = 11;
    /**
     * DHL Express 12 AM shipping service.
     *
     * Generated from protobuf enum <code>DHL_EXPRESS_12AM = 12;</code>
     */
    const DHL_EXPRESS_12AM = 12;
    /**
     * DHL Express 9 AM shipping service.
     *
     * Generated from protobuf enum <code>DHL_EXPRESS_9AM = 13;</code>
     */
    const DHL_EXPRESS_9AM = 13;
    /**
     * GEODIS Express shipping service.
     *
     * Generated from protobuf enum <code>GEODIS_EXPRESS = 14;</code>
     */
    const GEODIS_EXPRESS = 14;
    /**
     * GEODIS Pack 30 shipping service.
     *
     * Generated from protobuf enum <code>GEODIS_PACK_30 = 15;</code>
     */
    const GEODIS_PACK_30 = 15;
    /**
     * GEODIS Same Day shipping service.
     *
     * Generated from protobuf enum <code>GEODIS_SAME_DAY = 16;</code>
     */
    const GEODIS_SAME_DAY = 16;
    /**
     * GEODIS Top 24 shipping service.
     *
     * Generated from protobuf enum <code>GEODIS_TOP_24 = 17;</code>
     */
    const GEODIS_TOP_24 = 17;
    /**
     * TNT Essentiel 24H shipping service.
     *
     * Generated from protobuf enum <code>TNT_ESSENTIEL_24H = 18;</code>
     */
    const TNT_ESSENTIEL_24H = 18;
    /**
     * TNT Essentiel Flexibilite shipping service.
     *
     * Generated from protobuf enum <code>TNT_ESSENTIEL_FLEXIBILITE = 19;</code>
     */
    const TNT_ESSENTIEL_FLEXIBILITE = 19;
    /**
     * FedEx Ground shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_GROUND = 20;</code>
     */
    const FEDEX_GROUND = 20;
    /**
     * FedEx Home Delivery shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_HOME_DELIVERY = 21;</code>
     */
    const FEDEX_HOME_DELIVERY = 21;
    /**
     * FedEx Express Saver shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_EXPRESS_SAVER = 22;</code>
     */
    const FEDEX_EXPRESS_SAVER = 22;
    /**
     * FedEx First Overnight shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_FIRST_OVERNIGHT = 23;</code>
     */
    const FEDEX_FIRST_OVERNIGHT = 23;
    /**
     * FedEx Priority Overnight shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_PRIORITY_OVERNIGHT = 24;</code>
     */
    const FEDEX_PRIORITY_OVERNIGHT = 24;
    /**
     * FedEx Standard Overnight shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_STANDARD_OVERNIGHT = 25;</code>
     */
    const FEDEX_STANDARD_OVERNIGHT = 25;
    /**
     * FedEx 2Day shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_2DAY = 26;</code>
     */
    const FEDEX_2DAY = 26;
    /**
     * UPS 2nd Day Air shipping service.
     *
     * Generated from protobuf enum <code>UPS_2ND_DAY_AIR = 27;</code>
     */
    const UPS_2ND_DAY_AIR = 27;
    /**
     * UPS 2nd Day AM shipping service.
     *
     * Generated from protobuf enum <code>UPS_2ND_DAY_AM = 28;</code>
     */
    const UPS_2ND_DAY_AM = 28;
    /**
     * UPS 3 Day Select shipping service.
     *
     * Generated from protobuf enum <code>UPS_3_DAY_SELECT = 29;</code>
     */
    const UPS_3_DAY_SELECT = 29;
    /**
     * UPS Ground shipping service.
     *
     * Generated from protobuf enum <code>UPS_GROUND = 30;</code>
     */
    const UPS_GROUND = 30;
    /**
     * UPS Next Day Air shipping service.
     *
     * Generated from protobuf enum <code>UPS_NEXT_DAY_AIR = 31;</code>
     */
    const UPS_NEXT_DAY_AIR = 31;
    /**
     * UPS Next Day Air Early AM shipping service.
     *
     * Generated from protobuf enum <code>UPS_NEXT_DAY_AIR_EARLY_AM = 32;</code>
     */
    const UPS_NEXT_DAY_AIR_EARLY_AM = 32;
    /**
     * UPS Next Day Air Saver shipping service.
     *
     * Generated from protobuf enum <code>UPS_NEXT_DAY_AIR_SAVER = 33;</code>
     */
    const UPS_NEXT_DAY_AIR_SAVER = 33;
    /**
     * USPS Priority Mail Express shipping service.
     *
     * Generated from protobuf enum <code>USPS_PRIORITY_MAIL_EXPRESS = 34;</code>
     */
    const USPS_PRIORITY_MAIL_EXPRESS = 34;
    /**
     * USPS Media Mail shipping service.
     *
     * Generated from protobuf enum <code>USPS_MEDIA_MAIL = 35;</code>
     */
    const USPS_MEDIA_MAIL = 35;
    /**
     * USPS Ground Advantage Retail shipping service.
     *
     * Generated from protobuf enum <code>USPS_GROUND_ADVANTAGE_RETAIL = 36;</code>
     */
    const USPS_GROUND_ADVANTAGE_RETAIL = 36;
    /**
     * USPS Priority Mail shipping service.
     *
     * Generated from protobuf enum <code>USPS_PRIORITY_MAIL = 37;</code>
     */
    const USPS_PRIORITY_MAIL = 37;
    /**
     * USPS Ground Advantage Commercial shipping service.
     *
     * Generated from protobuf enum <code>USPS_GROUND_ADVANTAGE_COMMERCIAL = 38;</code>
     */
    const USPS_GROUND_ADVANTAGE_COMMERCIAL = 38;
    /**
     * USPS First Class Mail shipping service.
     *
     * Generated from protobuf enum <code>USPS_FIRST_CLASS_MAIL = 39;</code>
     */
    const USPS_FIRST_CLASS_MAIL = 39;

    private static $valueToName = [
        self::CARRIER_TRANSIT_TIME_OPTION_UNSPECIFIED => 'CARRIER_TRANSIT_TIME_OPTION_UNSPECIFIED',
        self::DHL_PAKET => 'DHL_PAKET',
        self::DHL_PACKCHEN => 'DHL_PACKCHEN',
        self::DHL_EXPRESSEASY => 'DHL_EXPRESSEASY',
        self::DPD_EXPRESS => 'DPD_EXPRESS',
        self::DPD_CLASSIC_PARCEL => 'DPD_CLASSIC_PARCEL',
        self::HERMES_HAUSTUR => 'HERMES_HAUSTUR',
        self::HERMES_PAKETSHOP => 'HERMES_PAKETSHOP',
        self::GLS_BUSINESS => 'GLS_BUSINESS',
        self::GLS_EXPRESS => 'GLS_EXPRESS',
        self::GLS_PRIVATE => 'GLS_PRIVATE',
        self::COLISSIMO_DOMICILE => 'COLISSIMO_DOMICILE',
        self::DHL_EXPRESS_12AM => 'DHL_EXPRESS_12AM',
        self::DHL_EXPRESS_9AM => 'DHL_EXPRESS_9AM',
        self::GEODIS_EXPRESS => 'GEODIS_EXPRESS',
        self::GEODIS_PACK_30 => 'GEODIS_PACK_30',
        self::GEODIS_SAME_DAY => 'GEODIS_SAME_DAY',
        self::GEODIS_TOP_24 => 'GEODIS_TOP_24',
        self::TNT_ESSENTIEL_24H => 'TNT_ESSENTIEL_24H',
        self::TNT_ESSENTIEL_FLEXIBILITE => 'TNT_ESSENTIEL_FLEXIBILITE',
        self::FEDEX_GROUND => 'FEDEX_GROUND',
        self::FEDEX_HOME_DELIVERY => 'FEDEX_HOME_DELIVERY',
        self::FEDEX_EXPRESS_SAVER => 'FEDEX_EXPRESS_SAVER',
        self::FEDEX_FIRST_OVERNIGHT => 'FEDEX_FIRST_OVERNIGHT',
        self::FEDEX_PRIORITY_OVERNIGHT => 'FEDEX_PRIORITY_OVERNIGHT',
        self::FEDEX_STANDARD_OVERNIGHT => 'FEDEX_STANDARD_OVERNIGHT',
        self::FEDEX_2DAY => 'FEDEX_2DAY',
        self::UPS_2ND_DAY_AIR => 'UPS_2ND_DAY_AIR',
        self::UPS_2ND_DAY_AM => 'UPS_2ND_DAY_AM',
        self::UPS_3_DAY_SELECT => 'UPS_3_DAY_SELECT',
        self::UPS_GROUND => 'UPS_GROUND',
        self::UPS_NEXT_DAY_AIR => 'UPS_NEXT_DAY_AIR',
        self::UPS_NEXT_DAY_AIR_EARLY_AM => 'UPS_NEXT_DAY_AIR_EARLY_AM',
        self::UPS_NEXT_DAY_AIR_SAVER => 'UPS_NEXT_DAY_AIR_SAVER',
        self::USPS_PRIORITY_MAIL_EXPRESS => 'USPS_PRIORITY_MAIL_EXPRESS',
        self::USPS_MEDIA_MAIL => 'USPS_MEDIA_MAIL',
        self::USPS_GROUND_ADVANTAGE_RETAIL => 'USPS_GROUND_ADVANTAGE_RETAIL',
        self::USPS_PRIORITY_MAIL => 'USPS_PRIORITY_MAIL',
        self::USPS_GROUND_ADVANTAGE_COMMERCIAL => 'USPS_GROUND_ADVANTAGE_COMMERCIAL',
        self::USPS_FIRST_CLASS_MAIL => 'USPS_FIRST_CLASS_MAIL',
    ];

    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);
    }
}

